Appliquer une macro à partir de la cellule sélectionner

Aimy67

XLDnaute Nouveau
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.
 

Dan

XLDnaute Barbatruc
Bonjour

Le début de la macro est compréhensible. Par contre je ne comprends pas ce que vous cherchez à faire. Si je lis votre macro et votre demande :

En H2 vous mettez une formule RechercheV pour reprendre des infos en colonne 4 et vous voulez appliquer la même chose en colonne V
En U2 vous mettez une formule RechercheV pour reprendre des infos en colonne 5 (?) et vous appliquer la même chose dans quelle colonne ?

Plus vous dites colonne I et V puis colonne J et W mais avec la colonne U on va où pour la colonne suivante (en AI ??) ?

Je pense u'un fichier exemple serait utile pour vous donner une réponse

Cordialement
 

Aimy67

XLDnaute Nouveau
Bonjour,

On m'a proposé la solution ci-dessous qui fonctionne très bien pour l'indicateur RC mais je n'arrive pas à la reproduire pour les RCN.

Sub essai()
décal = 2
mois = Month(Range("zone").Item(1, 3))
Set f = Sheets(1)
taille = f.[A65000].End(xlUp).Row - 1
With f.Cells(2, mois + décal).Resize(taille)
.Formula = "=vlookup(A2,zone,4,false)"
.Value = .Value
End With
End Sub

Cordialement.
 

Pièces jointes

  • Copie de Test macro 3.xlsm
    317.2 KB · Affichages: 14

Dan

XLDnaute Barbatruc
Re,

Comme ceci :

Code:
Sub Transfert_RC()
Dim decal As Byte, mois As Byte
Dim f As Worksheet
Dim taille As Integer
decal = 2
mois = Month(Range("zone").Item(1, 3))
Set f = Sheets(1)
taille = f.Range("A" & f.Rows.Count).End(xlUp).Row - 1
With f.Cells(2, mois + decal).Resize(taille)
    .Formula = "=vlookup(A2,zone,4,false)"
    .Value = .Value
End With
End Sub
Code:
Sub Transfert_RCN()
' Transfert_RCN Macro
Dim decal As Byte, mois As Byte
Dim f As Worksheet
Dim taille As Integer

decal = 15
mois = Month(Range("zone").Item(1, 3))
Set f = Sheets(1)
taille = f.Range("A" & f.Rows.Count).End(xlUp).Row - 1
With f.Cells(2, mois + decal).Resize(taille)
    .Formula = "=vlookup(A2,zone,5,false)"
    .Value = .Value
End With
End Sub
Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
311 723
Messages
2 081 932
Membres
101 844
dernier inscrit
pktla