Créer une macro pour une recherche V

Aimyg Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -  
Boisgontierjacques Messages postés 175 Date d'inscription   Statut Membre Dernière intervention   -
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

M-12 Messages postés 1332 Date d'inscription   Statut Membre Dernière intervention   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
Boisgontierjacques Messages postés 175 Date d'inscription   Statut Membre Dernière intervention   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