Inserer une ligne avec une macro

  • Initiateur de la discussion sophie
  • Date de début
S

sophie

Guest
Bonjour,

Sur une feuille excel, j'ai un 3 tableaux. Dans chacun d'entre eux, j'ai inseré des formules, listes déroulantes,... Les utilisateurs de la feuille en question auront peut-être à insérer de nouvelles lignes et, si je ne mets pas de macro, les formules & listes déroulantes ne figueront pas dans ces lignes.

Mon problème est que lorsque j'essaye de faire une macro, la ligne ne se met pas à l'endroit voulu (pourtant j'utilise les touches de raccourci: Ctrl =>,...). Le pire c'est quand j'essaye de faire la même chose pour les autres tableaux (précision: ils sont les uns en dessous des autres): si j'insere plusieurs lignes dans le premier tableau et que j'essaye ensuite d'insérer plusieurs lignes dans mon deuxième tableau, alors là j'ai des lignes qui se mettent au dessus de ce fameux 2ème tableau... et quand je fais la même chose pour mon 3ème tableau, alors là c'est vraiment n'importe quoi !

Quelqu'un aurait-il une idée ?

Je vous en remercie vivement par avance.
 
J

Jean-Marie

Guest
Bonjour, Sophie

Le plus simple c'est de remplaces les références de cellule type Range("A1").select, dans le code par un nom de cellule.

Dans la barre d'outils formule, à l'extrème gauche, en général il y a la référence de la cellule.

Tu vas modifier la référence en lui déclarant un nom.
Si tu insères une ligne (complète), ne prend qu'une cellule, si par contre tu insères une plage de cellule, alors sélectionne une plage de cellule

- sélectionne la cellule ou la plage, à l'endroit où tu insères les lignes dans le 1er tableau, va dans le coin gauche de la barre de formule et tape InsCellTab1

- sélectionne la cellule ou la plage, à l'endroit où tu insères les lignes dans le 2ème tableau, va dans le coin gauche de la barre de formule et tape InsCellTab2

- sélectionne la cellule ou la plage, à l'endroit où tu insères les lignes dans le 3ème tableau, va dans le coin gauche de la barre de formule et tape InsCellTab3


Maintenant il faut modifier le code VBA. Cherche dans le code les anciennes références des cellules et remplace par les nouveaux noms.

Range("A1").select -> Range(InsCellTab1).select

Essaye et tient nous au courant.

Bonne fin de journée

@+Jean-Marie
 

Discussions similaires

Statistiques des forums

Discussions
314 120
Messages
2 106 095
Membres
109 488
dernier inscrit
Abdel44