insertion d'une ligne avec recherche en colonne "A" d'une valeur

nonobat

XLDnaute Nouveau
bonjour à tous

voilà mon problème
je souhaite inserer une ligne au dessus de ma premiere ligne en colonne A1

Donc en colonne "A" j'ai ce genre de données

AA
AB
BA
BC
BA
BC
BD
CA
CA
CB

et je veux inserer une ligne au dessus de ma cellule ou il y a ecrit le 1er "B"
mais voilà dans les cellule il y plusieurs sorte de "B"
ici BA;BC;BD et plusieurs BA
J'ai deja fais un debut de macro pour la recherche mais moi ma macro recherche la valeur BA et insert au dessus
mais parfois j'ai plusieurs BA

pourriez vous m'aider svp
merci
je vous joint
mon fichier avec ma macro
 

Pièces jointes

  • e1.xlsm
    24 KB · Affichages: 45
  • e1.xlsm
    24 KB · Affichages: 46
  • e1.xlsm
    24 KB · Affichages: 49

Roland_M

XLDnaute Barbatruc
Re : insertion d'une ligne avec recherche en colonne "A" d'une valeur

bonjour,

comprends pas bien quel résultat souhaites tu ?
exemple une entre chaque B?

EDIT:
'si c'est entre chaque ligne avec B?
For i = Range("A65535").End(xlUp).Row To 3 Step -1
If Left(Cells(i, 1), 1) = "B" Then


'si c'est à la seule et uniquement la 1'ligne avec "BA"
For i = 3 To Range("A65535").End(xlUp).Row
If Cells(i, 1) = "BA" Then
'et avant la ligne End If > mettre exit For
 
Dernière édition:

nonobat

XLDnaute Nouveau
Re : insertion d'une ligne avec recherche en colonne "A" d'une valeur

bonjour roland_m
oui c'est vrai
c'est pas tres clair
en fait non pas entre chaque B seulement au dessus du 1er B
Je te joint le resultat
 

Pièces jointes

  • e2.xlsm
    24.2 KB · Affichages: 43
  • e2.xlsm
    24.2 KB · Affichages: 41
  • e2.xlsm
    24.2 KB · Affichages: 43

Jack2

XLDnaute Occasionnel
Re : insertion d'une ligne avec recherche en colonne "A" d'une valeur

Bonjour titiborregan, Bonjour Roland_M,

Si ça ne te pose pas de problème, tu trie d'abord tes valeurs :
Code:
Der = Range("A1", Range("A65535").End(xlUp)).Rows.Count
With Sheets("Feuil4").Sort
    .SetRange Range("A2:I" & Der)
    .MatchCase = False
    .SortMethod = xlPinYin
    .Apply
End With
Puis le code de Roland_M
Code:
For i = 3 To Range("A65535").End(xlUp).Row
If Cells(i, 1) = "BA" Then
'et avant la ligne End If > mettre exit For

A+ Jack2
 

nonobat

XLDnaute Nouveau
Re : insertion d'une ligne avec recherche en colonne "A" d'une valeur

Bonjour jack2
pour le tri c'est ok mais le souci est que j'ai plusieurs fois BA et du coup ma ligne est inserer au dernier BA et non au premier
j'ai repris ton code mais non ça veux pas; la ligne est inserer toujours au dernier "BA"
 

titiborregan5

XLDnaute Accro
Re : insertion d'une ligne avec recherche en colonne "A" d'une valeur

Salut à tous,
Bonjour jack2
pour le tri c'est ok mais le souci est que j'ai plusieurs fois BA et du coup ma ligne est inserer au dernier BA et non au premier
j'ai repris ton code mais non ça veux pas; la ligne est inserer toujours au dernier "BA"

Et bien tu fais ta boucle normal et non en partant de la fin...
et comme le dit jack2,tu mets exit for avant la fin!
 

Jack2

XLDnaute Occasionnel
Re : insertion d'une ligne avec recherche en colonne "A" d'une valeur

Bonsoir le fil,

titiborregan5 a été plus clair que moi sur la boucle (cf. post de Roland_M). Si ça ne correspond à ce que tu souhaites, il faudrait préciser le critère de choix d'un BA spécifique.

A+ Jack2
 

nonobat

XLDnaute Nouveau
Re : insertion d'une ligne avec recherche en colonne "A" d'une valeur

Re-coucou a tous
je viens de ressayer la macro qui marche très bien
mais j'vais oublié l'essentiel c'est que dans ma colonne "A"

je cherche à inserer la ligne avant les "B"
mes dans ma colonne il y des double lettres

genre

AA
BA
BC
DA
BA

et pas de toujours les memes parfois il n'y a pas de "BA"
du coup commedans ma macro je recherche "BA" il ne se passe rien

donc comment faire
pour malgès tout inserer ma ligne

merci
 

titiborregan5

XLDnaute Accro
Re : insertion d'une ligne avec recherche en colonne "A" d'une valeur

On ne comprend plus grand chose à la demande!!!
Quand veux-tu insérer une ligne? Dès que la 1ère lettre est un B
Du coup en macro ça se traduit par

VB:
if left(cells(i,1),1)="B" then
rows(i).insert
exit for
end if
next
 

nonobat

XLDnaute Nouveau
Re : insertion d'une ligne avec recherche en colonne "A" d'une valeur

merci titiborregan5
ca marche
et n'etant vraiment mais vraiment pas fort en vba je fais au mieux pour m'en sortir des codes que vous me donnez
et qui me sont très precieux

et encore désolé pour les explications je fais au mieux
 

Discussions similaires