Accueil – Le CFO masqué › Forums › VBA › charger des donné pwq en fonction d’un Critère
Mots-clés : Résolut/Critère ; vba
- This topic has 6 réponses, 2 participants, and was last updated il y a 2 years et 2 months by deltacta.
-
AuteurArticles
-
18 septembre 2022 à 18 h 33 min #107227deltactaParticipant
Bonjour
j’ai enregistrer un code qui définis ce que je voudrais .
dans ma cellule A1 je saisie un jours de la semaine: LUNDI ou MARDI ou MERCREDI ou JEUDI ou VENDREDI ou SAMEDI&LUNDI.
Lorsque je saisie un de ces choix il va me cherche les donner que j’ai déjà construis en amonts sur pwq.
Est-il possible que vous puissiez avec votre gentillesse, m’aidé à faire une condition (if; then; end if) pour ma cellule A1?
J’espère avoir été assez explicite.
Cordialement.
Sub testecharLundi()
Range(“A1”).Select
ActiveCell.FormulaR1C1 = “LUNDI”
Application.CutCopyMode = False
Application.CutCopyMode = False
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
“OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=””LUNDI (2)””;Extended Properties=””””” _
, Destination:=Range(“$B$3”)).QueryTable
.CommandType = xlCmdSql
.CommandText = Array(“SELECT * FROM [LUNDI (2)]”)
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = “LUNDI__2”
.Refresh BackgroundQuery:=False
End With
Range(“A1”).Select
End Sub19 septembre 2022 à 8 h 10 min #107235deltactaParticipantVoici un ex de fichier.
cordialement19 septembre 2022 à 8 h 21 min #10723619 septembre 2022 à 12 h 44 min #107297DanielParticipantBonjour Deltacta, Le Forum,
Et sans macro, si cela peut t’intéresser, en utilisant les fonctions Excel Index et Indirect (voir pièce jointe).
Exemple :
=SIERREUR(INDEX(INDIRECT(SUBSTITUE($B$1;”&”;”_”));LIGNE()-LIGNE(B$3);EQUIV(B$3;LUNDI[#En-têtes];0));””)Cordialement
DanielAttachments:
You must be logged in to view attached files.21 septembre 2022 à 4 h 47 min #107927deltactaParticipantbonjour a tous
Merci Daniel Blanc cette une bonne solution alternative que j’avais envisagé avec une autre ou cas je ne trouve rien.
Merci pour ta réponse
je clos le sujet pour le moment21 septembre 2022 à 15 h 49 min #107941DanielParticipantBonjour Deltacta, Le Forum,
Autre possibilité (si faisable avec données d’origine), regrouper toutes les requêtes journalières en une seule avec une colonne contenant la journée (LUNDI, MARDI,etc…), pré-requis les entêtes doivent être identiques (TOURNEE FRAIS et TOURNEE F) ne seront pas mis à la suite mais sur des colonnes différentes. Chaque requête devra avoir le nom du jour dans une colonne.
Ensuite créer une nouvelle requête en prenant comme source la liste déroulante des jours de tournée, une fois chargée faire un clic droit et Drill Down, tu devrais avoir le nom du jour avec le symbole ABC sur la gauche. Donner un nom à cette requête (exemple : ChoixDuJour)
Retour sur la requête contenant toutes les données et filtrer sur la colonne contenant les différents jours, choisir n’importe quel jour, ensuite modifier le jour (exemple : “MARDI” par ChoixDuJour) dans la barre de formule.
L’utilisateur peut changer le jour dans la liste déroulante et en actualisant la requête les données apparaîtront.
Cordialement
Daniel22 septembre 2022 à 6 h 30 min #107951deltactaParticipantbonjour a tous
Merci Daniel Blanc ,je vais teste ultérieurement.
Cordialement
Résolut -
AuteurArticles
- Vous devez être connecté pour répondre à ce sujet.