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

insertion lignes automatiques

  • Initiateur de la discussion Initiateur de la discussion nicopro
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

nicopro

Guest
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 ?
 
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
 
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
 
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
170
Réponses
5
Affichages
701
Réponses
1
Affichages
178
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…