VBA insertion ligne sous conditionS

Résolu
Lomic6 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
Lomic6 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Debutant en VBA, je souhaiterai savoir comment peut on obtenir une insertion de 1 seule ligne, basee sur un changement de valeur dans plusieurs colonnes, et ce, simultanement:

Par exemple dans colonne A on a:
A
A
A
B
B
C
D
D

Dans colonne B on a:
a
a
a
a
a
a
b
c
et je veux faire une insertion de une seule ligne pour obtenir...

A a
A a
A a
"inserer ligne"
B a
B a
"inserer ligne"
C a
"inserer ligne"
D b
"inserer ligne"
D c
"inserer ligne"

Merci d'avance pour vos bons conseils ;)
A voir également:

4 réponses

chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   1 311
 
Bonjour,

voici un fichier selon votre exemple.

Cordialement.
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 762
 
Salut Chossette9,
Juste pour que tous puissions accéder aux fichiers créés sur ce forum, il vaut mieux les enregistrer sous format Excel 97-2003. ton fichier est en effet inaccessible aux versions excel <2007...
Merci de penser à nos vieilles bécanes...
Bonne journée
0
chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   1 311
 
Oups, excusez ma maladresse.

Voici le fichier au format Excel 97-2003.

Cordialement.
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 762
 
Oups deuxième maladresse. J'ai appris ça il n'y a pas longtemps, sur un autre forum, alors je peux frimer!!!
L'écriture : DerLig = Range("A1048576").End(xlUp).Row empêche la portabilité de ta macro sur les versions antérieures à 2007. L'écriture DerLig = Range("A65536").End(xlUp).Row empêche la portabilité de ta macro sur les versions à partir de 2007 qui, comme tu le sais, peuvent aller plus loin que 65536 lignes...
Donc il convient dorénavant d'utiliser les syntaxes suivantes :
DerLig = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
'ou
DerLig = Range("A" & Rows.Count).End(xlUp).Row
0
chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   1 311
 
Merci de l'info ami pijaku !!

Ce qui est bien c'est qu'on en apprend tous les jours.

Sinon, plus compliqué, on peut toujours tester la version d'Office utilisée, et si c'est Office 12 ou supérieur (Office 12 = Office 2007) on met A1048576, sinon on met A65536.

Mais ta solution est surement la meilleure.
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 762
 
Mais ta solution est surement la meilleure. Oui, je sais... Merci!!
;-)))
0
chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   1 311
 
Lol ça va les chevilles :D
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 762
 
Les chevilles, cher chossette (lol) vont très bien merci.
Cessons cette digréssion...
Bonne journée!!
0
chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   1 311
 
Youhou, ya quelqu'un ?
0
Lomic6 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Chosette9, Pijaku,

Merci beaucoup pour votre aide !!!

Cela fonctionne parfaitement.

Bonne Soiree et bon Week-end a vous.
0