Appliquer une macro à partir d'une cellule
Aimyg
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
Aimyg Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
Aimyg Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai besoin de votre aide pour optimiser un fichier de travail mais je suis débutante et ne parvient pas au résultat que je souhaite.
Je cherche à faire une macro pour créer une recherche V qui s'applique à différente colonne.
Je fais ma recherche V en cellule H2 puis l'applique à toute la colonne H et effectue une autre recherche V en cellule U2 et l'applique à toute la colonne U. Jusqu'ici je m'en suis sortie avec l'enregistreur.
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-7],MOIS,4,0)"
Range("H2").Select
Selection.AutoFill Destination:=Range("H2:H606")
Range("H2:H606").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("U2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-20],MOIS,5,0)"
Range("U2").Select
Selection.AutoFill Destination:=Range("U2:U606")
Range("U2:U606").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
Application.CutCopyMode = False
End Sub
La ou cela ne fonctionne pas c'est que en me positionnant en cellule I2 je souhaiterais que ces mêmes recherche V s'applique aux colonnes I et V et ainsi de suite si je me positionne en J2 que les formules s'applique aux colonnes J et W.
J'espère que mes explications sont claires, merci par avance de votre aide.
J'ai besoin de votre aide pour optimiser un fichier de travail mais je suis débutante et ne parvient pas au résultat que je souhaite.
Je cherche à faire une macro pour créer une recherche V qui s'applique à différente colonne.
Je fais ma recherche V en cellule H2 puis l'applique à toute la colonne H et effectue une autre recherche V en cellule U2 et l'applique à toute la colonne U. Jusqu'ici je m'en suis sortie avec l'enregistreur.
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-7],MOIS,4,0)"
Range("H2").Select
Selection.AutoFill Destination:=Range("H2:H606")
Range("H2:H606").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("U2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-20],MOIS,5,0)"
Range("U2").Select
Selection.AutoFill Destination:=Range("U2:U606")
Range("U2:U606").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
Application.CutCopyMode = False
End Sub
La ou cela ne fonctionne pas c'est que en me positionnant en cellule I2 je souhaiterais que ces mêmes recherche V s'applique aux colonnes I et V et ainsi de suite si je me positionne en J2 que les formules s'applique aux colonnes J et W.
J'espère que mes explications sont claires, merci par avance de votre aide.
A voir également:
- Appliquer une macro à partir d'une cellule
- Comment faire une recherche à partir d'une photo - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Aller à la ligne dans une cellule excel - Guide
- Créer une icone à partir d'une image - Guide
3 réponses
Bonjour,
Pourrais-tu joindre un exemple de ton fichier afin que l'on puisse mieux comprendre ta demande car là c'est un peu abstrait. Tu peux utiliser le site gratuit suivant pour poster ton fichier : https://www.cjoint.com/
A bientôt
Jc
Pourrais-tu joindre un exemple de ton fichier afin que l'on puisse mieux comprendre ta demande car là c'est un peu abstrait. Tu peux utiliser le site gratuit suivant pour poster ton fichier : https://www.cjoint.com/
A bientôt
Jc
Bonjour,
Remplace les trois premières lignes par :
Fais pareil pour la seconde formule.
Cordialement.
Daniel
Remplace les trois premières lignes par :
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-7],MOIS,4,0)" ActiveCell.AutoFill Destination:=ActiveCell.Resize(605)
Fais pareil pour la seconde formule.
Cordialement.
Daniel
Bonjour,
Merci pour votre aide mais mon problème n'est pas solutionné. J'ai peut être pas modifié les informations correctement.
le code donne ça :
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-7],MOIS,4,0)"
ActiveCell.AutoFill Destination:=ActiveCell.Resize(605)
Range("H2:H606").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("U2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-20],MOIS,5,0)"
ActiveCell.AutoFill Destination:=ActiveCell.Resize(605)
Range("U2:U606").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
Application.CutCopyMode = False
Ma recherche V fonctionne très bien en colonne H et U, mais quand je me positionne en colonne I, elle ne fonctionne pas alors que je voudrais qu'elle se reproduise en colonne I et V.
Cordialement
Merci pour votre aide mais mon problème n'est pas solutionné. J'ai peut être pas modifié les informations correctement.
le code donne ça :
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-7],MOIS,4,0)"
ActiveCell.AutoFill Destination:=ActiveCell.Resize(605)
Range("H2:H606").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("U2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-20],MOIS,5,0)"
ActiveCell.AutoFill Destination:=ActiveCell.Resize(605)
Range("U2:U606").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
Application.CutCopyMode = False
Ma recherche V fonctionne très bien en colonne H et U, mais quand je me positionne en colonne I, elle ne fonctionne pas alors que je voudrais qu'elle se reproduise en colonne I et V.
Cordialement
Peut-être :
Daniel
Sub Macro2() ' ' Macro2 Macro ' ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-7],MOIS,4,0)" ActiveCell.AutoFill Destination:=ActiveCell.Resize(605) ActiveCell.Resize(605).Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ActiveCell.Offset(, 13).Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-20],MOIS,5,0)" ActiveCell.AutoFill Destination:=ActiveCell.Resize(605) ActiveCell.Resize(605).Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("A1").Select Application.CutCopyMode = False End Sub
Daniel
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC1,MOIS,4,0)" ActiveCell.AutoFill Destination:=ActiveCell.Resize(605) ActiveCell.Resize(605).Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ActiveCell.Offset(, 13).Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "=VLOOKUP(RC1,MOIS,5,0)" ActiveCell.AutoFill Destination:=ActiveCell.Resize(605) ActiveCell.Resize(605).Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("A1").Select Application.CutCopyMode = False
Daniel
Et pour simplifier :
Sub Macro3()
ActiveCell.Resize(605).FormulaR1C1 = "=VLOOKUP(RC1,MOIS,4,0)"
ActiveCell.Resize(605).Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(, 13).Resize(605).FormulaR1C1 = "=VLOOKUP(RC1,MOIS,5,0)"
ActiveCell.Resize(605).Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
Application.CutCopyMode = False
End Sub
J'ai trouvé la solution grâce à de l'aide sur un autre forum.
Je partage si cela peut en aider d'autres.
Option Explicit 'oblige à déclarer les variables
Sub essai()
Dim décal%, mois%, f As Worksheet, taille&, i%
décal = 2
mois = Month(Range("zone").Item(1, 3))
Set f = Sheets(1)
taille = f.[A65000].End(xlUp).Row - 1
For i = 0 To 5
With f.Cells(2, mois + décal).Resize(taille).Offset(, 13 * i)
.Formula = "=vlookup(A2,zone," & 4 + i & ",false)"
.Value = .Value
End With
Next
End Sub
Merci encore
Je partage si cela peut en aider d'autres.
Option Explicit 'oblige à déclarer les variables
Sub essai()
Dim décal%, mois%, f As Worksheet, taille&, i%
décal = 2
mois = Month(Range("zone").Item(1, 3))
Set f = Sheets(1)
taille = f.[A65000].End(xlUp).Row - 1
For i = 0 To 5
With f.Cells(2, mois + décal).Resize(taille).Offset(, 13 * i)
.Formula = "=vlookup(A2,zone," & 4 + i & ",false)"
.Value = .Value
End With
Next
End Sub
Merci encore
Voici le lien vers mon document.
https://www.cjoint.com/c/HIrlH0cqxTk
Merci d'avance de votre aide.