Créer une macro pour une recherche V

Aimyg Messages postés 13 Statut Membre -  
Boisgontierjacques Messages postés 177 Statut Membre -
Bonjour,

Je débute en macro et j'ai besoin de votre aide.

Je souhaite automatiser une recherche V via une macro mais ça ne fonctionne pas via l'enregistreur.

J'ai deux onglets dans mon tableau un onglet BASE que j'alimente via une recherche V qui récupère les données copiées dans l'onglet 'Données mensuelles" depuis un logiciel.
Je dois chaque mois effectuer cette opération.

Dans le fichier joint, je souhaite compléter le mois de juin via une recherche V. Je veux compléter les colonnes H, U, AC, AK, AS et BA en reprenant les informations qui figurent dans l'onglet données mensuelles en colonne D à I. J'étant la formule à toutes la colonne et copie colle au format texte le résultat.

Mon bouton de déclenchement de la macro s'intitule juin et est situé dans l'onglet Données mensuelles.

Je souhaite reproduire cette macro pour chaque mois en créant un bouton par mois. En juillet les colonnes à compléter seront I, V, AD, AL, AT, BB. (Peut être est il même possible de ne faire qu'une macro et pas une pour chaque mois).

Je ne sais pas comment joindre le fichier pour que ce soit plus parlant.

Pouvez vous m'aider à faire cela.

Merci beaucoup pour ceux qui prendront le temps de se pencher sur cette demande.

2 réponses

  1. M-12 Messages postés 1349 Statut Membre 285
     
    Bonjour,

    Tu vas dans https://www.cjoint.com/
    Tu cliques sur "PARCOURIR" pour sélectionner ton fichier
    Clic le bouton "CREER LE LIEN"
    Clic droit quand le lien est créé "COPIER LE LIEN"
    Sur ton message Clic droit "Coller".
    0
  2. Boisgontierjacques Messages postés 177 Statut Membre 64
     
    Bonjour,

    http://boisgontierjacques.free.fr/fichiers/Cellules/EcritureFormuleRecherchev.xlsm

    zone ='Données mensuelles'!$A$2:$I$814


    Sub MajMoisEnCours()
    décal = 2
    mois = Month(Range("zone").Item(1, 3))
    Set f = Sheets(1)
    f.Cells(2, mois + décal).Formula = "=vlookup(" & "A2" & ",zone,4,false)"
    taille = f.[A65000].End(xlUp).Row - 1
    f.Cells(2, mois + décal).AutoFill Destination:=f.Cells(2, mois + décal).Resize(taille)
    f.Cells(2, mois + décal).Resize(taille).Copy
    f.Cells(2, mois + décal).Resize(taille).PasteSpecial Paste:=xlPasteValues
    End Sub


    ou


    Sub MajMoisEnCours2()
    mois = Month(Range("zone").Item(1, 3))
    Set f = Sheets(1): Set f2 = Sheets(2)
    Set d = CreateObject("scripting.dictionary")
    For i = 2 To f2.[A65000].End(xlUp).Row
    clé = f2.Cells(i, "a"): d(clé) = f2.Cells(i, "d")
    Next i
    For i = 2 To f2.[A65000].End(xlUp).Row
    clé = f.Cells(i, "a"): If d.exists(clé) Then f.Cells(i, mois + 2) = d(clé)
    Next i
    End Sub



    Boisgontier
    0