charger des donné pwq en fonction d’un Critère

Accueil – Le CFO masqué Forums VBA charger des donné pwq en fonction d’un Critère

  • Ce sujet contient 6 réponses, 2 participants et a été mis à jour pour la dernière fois par deltacta, le il y a 1 semaine et 5 jours.
7 sujets de 1 à 7 (sur un total de 7)
  • Auteur
    Articles
  • #107227
    deltacta
    Participant

    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 Sub

    #107235
    deltacta
    Participant

    Voici un ex de fichier.
    cordialement

    #107236
    deltacta
    Participant

    le fichier oops

    Attachments:
    You must be logged in to view attached files.
    #107297
    Daniel Blanc
    Participant

    Bonjour 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
    Daniel

    Attachments:
    You must be logged in to view attached files.
    #107927
    deltacta
    Participant

    bonjour 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 moment

    #107941
    Daniel Blanc
    Participant

    Bonjour 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
    Daniel

    #107951
    deltacta
    Participant

    bonjour a tous

    Merci Daniel Blanc ,je vais teste ultérieurement.
    Cordialement
    Résolut

7 sujets de 1 à 7 (sur un total de 7)
  • Vous devez être connecté pour répondre à ce sujet.