insertion lignes automatiques

nicopro

XLDnaute Nouveau
Bonjour à tous,

Je sèche sur un problème.
J'ai une liste de chiffres en colone A et en colonne B un nom.
J'aimerai que lorsque le nom de la colonne B est égal à "0000REF010EUR"
la macro insère une ligne automatiquement en dessous.
Pouvez-vous m'aider ?
 

nicopro

XLDnaute Nouveau
Re : insertion lignes automatiques

Bonjour,

Ma feuille fait plus de 10 mo

J'ai passé la colonne B en A du coup ma macro fonctionne mais insère les lignes au dessus de la valeur trouvée "0000REF010EUR"

voici mon code mais le problème c'est qu'il m'insère les lignes au dessus au lieu d'en dessous :

Sub AVA2()

Dim lastrow As Long

Application.ScreenUpdating = False
Application.DisplayAlerts = False

lastrow = Range("A65536").End(xlUp).Row 'détecte la dernière ligne occupée
i = 1 '1° ligne traitée
Do While i <> lastrow
If Cells(i, 1).Value = "0000REF010EUR" Then 'détection du "0000REF010EUR"
Rows(i).Insert Shift:=xlUp
lastrow = Range("A65536").End(xlUp).Row 'détecte la dernière ligne occupée suite à insertion
i = i + 1 'on se repositionne sur la ligne avec "0000REF010EUR"
End If
i = i + 1 'passage ligne suivante
Loop


Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub



Merci d'avance pour votre aide
 

titiborregan5

XLDnaute Accro
Re : insertion lignes automatiques

Essaie avec xldown à la place de xlup
Code:
Dim lastrow As Long

Application.ScreenUpdating = False
Application.DisplayAlerts = False

lastrow = Range("A65536").End(xlUp).Row 'détecte la dernière ligne occupée
i = 1 '1° ligne traitée
Do While i <> lastrow
If Cells(i, 1).Value = "0000REF010EUR" Then 'détection du "0000REF010EUR"
Rows(i).Insert Shift:=xldown             ' xlUp remplacé par xldown
lastrow = Range("A65536").End(xlUp).Row 'détecte la dernière ligne occupée suite à insertion
i = i + 1 'on se repositionne sur la ligne avec "0000REF010EUR"
End If
i = i + 1 'passage ligne suivante
Loop


Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Dis moi si ça marche
 

titiborregan5

XLDnaute Accro
Re : insertion lignes automatiques

dans ce cas essaie avec rows(i+1).insert peut être?.
Code:
Sub AVA2()

Dim lastrow As Long

Application.ScreenUpdating = False
Application.DisplayAlerts = False

lastrow = Range("A65536").End(xlUp).Row 'détecte la dernière ligne occupée
i = 1 '1° ligne traitée
Do While i <> lastrow
If Cells(i, 1).Value = "0000REF010EUR" Then 'détection du "0000REF010EUR"
[COLOR="Red"]Rows(i+1).Insert Shift:=xlUp[/COLOR]
lastrow = Range("A65536").End(xlUp).Row 'détecte la dernière ligne occupée suite à insertion
i = i + 1 'on se repositionne sur la ligne avec "0000REF010EUR"
End If
i = i + 1 'passage ligne suivante
Loop


Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Chez moi ça marche en tous cas!
 
Dernière édition:

Discussions similaires

Réponses
3
Affichages
267

Statistiques des forums

Discussions
312 203
Messages
2 086 188
Membres
103 152
dernier inscrit
Karibu