Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Rendre relatives les références d'une macro

michir

XLDnaute Occasionnel
Bonjour
voilà, j'ai une macro qui assure le recopie d'une ligne à un autre endroit
je souhaiterais que'elle fonctionne lorsque j'insère ou supprime des lignes dans mon tableau
je crois que c'est possible avec des références relatives
comment le retranscrire dans ma macro ?
Merci à tous
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Comment voulez vous qu'on vous le dise avec une description aussi vague ?
Regardez ce que vous pouvez tirer du paramètre Target d'une Sub Worksheet_Change dans le module de la feuille.
 

zebanx

XLDnaute Accro
Bonjour Michir, bonjour Dranreb

Une première idée - ce code va être estimé long pour certains --))

Sub Macro1()
Dim derligne As Integer
derligne = Range("E" & Rows.Count).End(xlUp).Row
Cells(derligne - 1, 5).Value = Cells(derligne, 5).Value
End Sub
 

michir

XLDnaute Occasionnel
Bonjour ZEBANX
A priori ta solution me convient parfaitement
Tu n'as pas utilisé l'enregistrement relatif semble t il ?
je me suis contenté de recopier le code qui n'est pas long et plutôt élégant et cela fonctionne
Merci à toi
Michel
 

michir

XLDnaute Occasionnel
RE ZEBANX
Lorsque je veux appliquer ton code dan un cas similaire, la macro ne fonctionne plus
Il faut sans doute peu de chose
peux t m'aider ?
je te joins un extrait de mon fichier
 

Pièces jointes

  • Macro Relative.xlsm
    20.4 KB · Affichages: 25

michir

XLDnaute Occasionnel
Merci beaucoup Zebanx pour ta contribution élégante
Puis je me permettre d'abuser de ta gentillesse en compliquant le challenge ?
Voilà, ta macro fonctionne bien si j'insère des lignes en dessus de la cellule à copier, mais pas en dessous
Peut on adapter la macro pour que le copier coller de la cellule 39 en 38 permette de modifier la hauteur de la colonne P
Je joins mon fichier exemple
Merci encore
 

Pièces jointes

  • Macro Relative.xlsm
    21.9 KB · Affichages: 22

zebanx

XLDnaute Accro
Bonjour Michir,

On ne passe plus par un offset sur la colonne P mais on vient coller la valeur quand on trouve le mot "antérieur" sur la colonne O (qui ne devrait pas être sur les autres lignes de la colonne O).

Cdlt
thierry
 

Pièces jointes

  • michir_2.xls
    62 KB · Affichages: 24

michir

XLDnaute Occasionnel
Zebanx
Comme prévu je me prends les pieds dans le tapis
Je joins un extrait de mon fichier en respectant l'architecture (col. et lignes) dans la feuille 3
Merci encore
Michel
 

Pièces jointes

  • michir_2.xls
    79.5 KB · Affichages: 21

zebanx

XLDnaute Accro
C'est juste un paramétrage de colonne Michir, les codes sont quasimment identiques.

Je te mets le troisième code macro 3 pour que tu puisses voir les différences (là on passe d'une recherche colonne A à un remplissage colonne 16).
Si tu modifies à nouveau les colonnes ou que tu changes le mots clés, il faut modifier sur le code.
Pour info°, le fait de mettre "*Antérieur*" permet de chercher le mot à l'intérieur d'un groupe de mots.
Il faut faire attention à la "casse" aussi. Sur le code, et j'ai fait l'erreur, si tu mets "antérieur" dans la cellule ce n'est pas la même chose que "Antérieur". Petit détail.

Bonne journée à toi
thierry
 

Pièces jointes

  • michir_2-3.xls
    80 KB · Affichages: 24

zebanx

XLDnaute Accro
Sympa ton message -)

Moi aussi j'apprends, et tous les jours grâce au forum.
Les codes sont parfois durs à comprendre, surtout en Scripting Dictionnary mais E.D., c'est super !
Je ne vais pas citer les nombreuses personnes qui m'ont aidé parce qu'elles sont nombreuses, elles se reconnaitront

Bonne journée à toi.
thierry

edit : inscrire "résolu" en plus sur le titre du message svp.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…