Syntaxe d'utilisation dans macro après nommage d'une colonne

airvb

XLDnaute Nouveau
Bonjour,

But : En cas d'ajout/suppression d'une colonne du tableau, les macros ne sont pas perturbées.


Avant :

rf.Range("J" & lignerf) = sir.Range("B" & lignesir) ' info to

Si j'ajoute/retire une colonne ds les feuilles rf et sir ... patatra ça tombe :(


J'ai donc nommé "info_to" la colonne J de ma feuille rf. ( =rf!$J:$J )

rf.Range("info_to" & lignerf) = sir.Range("B" & lignesir) ' info to


Mais la j'ai droit à une erreur 1004

Une piste ?

Merci
 

pierrejean

XLDnaute Barbatruc
Re : Syntaxe d'utilisation dans macro après nommage d'une colonne

Bonjour airvb

Salut Staple

Remplacer
Code:
rf.Range("vers" & ligne) = sir.Range("C" & lignesir)

par

Code:
     rf.Cells(ligne, Range("vers").Column) = sir.Range("C" & lignesir)
 

Staple1600

XLDnaute Barbatruc
Re : Syntaxe d'utilisation dans macro après nommage d'une colonne

Re____________________________EDITION: Bonjour pierrejean

Personnellement, j'utiliserai plutôt un filtre avancé en VBA
(NB: Le code VBA doit être dans un module standard et pas dans ThisWorkbook comme c'est la cas dans ta PJ)
Code:
Sub recup()
Dim rf As Worksheet, sir As Worksheet
Set rf = Worksheets("rf")
Set sir = Worksheets("sir")
With rf.Range("C1:Z200")
    .ClearContents
    .Interior.ColorIndex = xlNone
    .ClearComments ' on enléve les commentaires des cellules
End With
sir.Range("B1:F23").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=rf.Range("A1:B2"), CopyToRange:=rf.Range("E1"), Unique:=False
End Sub
Résultat obtenu avec ma macro
(j'ai modifié les cellules A1:B2 qui deviennnent la zone de critère du filtre)
01airvb.png
 

airvb

XLDnaute Nouveau
Re : Syntaxe d'utilisation dans macro après nommage d'une colonne

Effectivement c'est une piste d'amélioration notable.
Le fichier présenté ayant été simplifié je vais voir si je peux adapter mais cela semble prometteur.

Merci pour l'idée.


Bon we
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 976
dernier inscrit
kaizertv2001@gmailcom