insertion ligne par une macro

franck70

XLDnaute Junior
Bonjour à toutes et à tous.

Je commence à me passionner pour les macros & Co et j'ai un petit souci sur une macro:
J'ai un tableau avec des noms de fournisseurs classés en 2 parties. J'ai une macro (Ctrl+i dans le fichier joint) qui insère une ligne dans la 2ème partie, après le 2ème fournisseur. Seulement, la macro dit qu'elle doit insérer une ligne en Rows('13:13').Select. Or, ce ne sera pas toujours le cas. Par exemple si je rajoute 5 fournisseurs dans la partie 1, alors la ligne qui va être insérée va se retrouver dans la partie 1 et non la partie 2!

Il faudrait donc que ma macro insère une ligne d'une autre façon. J'avais pensé à lui dire d'insérer une ligne 4 lignes sous la celle ou il y a marqué 'partie 2'. Ca peut fonctionner? Comment? Y-a-t-il un meilleur moyen (par exemple qu'il descende d'un cran la ligne à insérer chaque fois que j'ai inséré une nouvelle ligne avant?)

Merci d'avance à toutes et à tous

[file name=insertionligne.zip size=4574]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/insertionligne.zip[/file]
 

Pièces jointes

  • insertionligne.zip
    6.2 KB · Affichages: 13
  • insertionligne.zip
    6.2 KB · Affichages: 12
  • insertionligne.zip
    6.2 KB · Affichages: 11

myDearFriend!

XLDnaute Barbatruc
Bonsoir franck70,

Dans ce genre de cas, le plus simple est de nommer ta ligne (comme tu le ferais pour une plage de cellules) :
[ol][li]Menu Insertion / Nom / Définir...[/li]
[li]Tu saisies un nom (par exemple : LigneRef)[/li]
[li]Tu cliques ensuite dans la zone 'Fait référence à' et tu sélectionnes ta ligne 13 (entière)[/li]
[li]Tu valides finalement par OK.[/li][/ol]
Dans ton code VBA, tu mets :
Range('LigneRef').Insert Shift:=xlDown
(Pas besoin de faire un 'Select' avec VBA ici)

Cette fois, l'insertion de lignes en haut du tableau n'a plus d'incidence sur ta macro.

Cordialement,
 

franck70

XLDnaute Junior
Bonjour à toutes et à tous

Merci beaucoup dearfriend.

J'ai pas encore essayé, mais ça me semble très bien. J'ai honte, mais je ne savais pas qu'on pouvait nomé une ligne entière. Je croyais que ça ne s'aplliquait qu'à des plages de cellules délimités!

Bonne soirée à tous
 

Discussions similaires

Réponses
12
Affichages
454

Statistiques des forums

Discussions
312 931
Messages
2 093 721
Membres
105 796
dernier inscrit
Max...26