Insérer une ligne vide dans une liste de nom

Bonjour à tous,

je cherche un code qui peut m'insérer une ligne vide à chaque changement de nom dans une liste de données.

Liste de nom de rue

Merci de votre gentillesse

Pierrot

Bonjour Pierrot,

Avec un tit fichier ça serait plus facile.

Cordialement.

Bonjour Cappe Pierre, bigdaddy154

J'ai testé Colonne A, ça à l'air de fonctionner

Sub Inserer()
'
' Inserer Macro
'
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
'
For i = 1 To lastRow
    If Cells(i, 1) <> "" And Cells(i, 1) <> Cells(i + 1, 1) Then
    Cells(i + 1, 1).Select
    Selection.Insert Shift:=xlDown

    End If
Next i
End Sub

Bonjour, Timothe, bigdaddy154,

Un grand merci de vos réponses, Tu dis,Timothe,"ça à l'air de fonctionner"

en réalité, ça marche du tonnerre. c'est parfait,

merci encore et bonne fin de journée à tous.

Pierrot

"Aucun plan de bataille ne survit au contact de l'ennemi."

Si le fichier Excel veut te faire chier, il le fera. ^^

Timothe, je suis désolé, j'ai crié victoire trop vite,

ton code fonctionne bien sur la colonne A mais les autres colonnes ne suivent pas le décalage, j'ai dix colonnes qui sont impliquées,

bigdaddy154 avait raison, j'aurais du joindre un fichier, je le fais maintenant, avec toutes mes excuses.

Amicalement

Pierrot

 Cells(i + 1, 1).EntireRow.Select

Si on lui dit de sélectionner qu'une cellule au lieu de prendre toute la ligne, c'est sur que ça va moins bien marcher ^^

Les couleurs ne suivent pas le décallage, seul le texte (je précise)

Salut, plaisantin, comme cela, c'est parfait

Amitiés,

Pierrot du Sud-Est de la Belgique

Vérifie que les deux derniers noms se décallent aussi, ils ont l'air de faire grève, je soupçonne que la boucle ne suive pas (vu qu'on lui dit de faire de 1 à 100 par exemple, avec le décallage, les dernières lignes seront 105 ou +, la boucle risque de s'arréter avant la fin).

Je regarde s'il y a moyen de pallier à ce problème.

For i = 3 To lastRow
    If Cells(i, 1) <> "" And Cells(i + 1, 1) <> "" And Cells(i, 1) <> Cells(i + 1, 1) Then
    Cells(i + 1, 1).EntireRow.Select
    Selection.Insert Shift:=xlDown
    lastRow = lastRow + 1
    End If

Next i

J'ai rajouté un test pour ne pas qu'il mette d'intervalle s'il y en a déjà un (au cas où la macro est relancée dérrière, ce qui permet par ailleurs de récupérer les retardataires)

Je regarde s'il n'y a pas moyen de lui faire comprendre que la dernière ligne n'est plus la même ...

Vois-tu, avant, d'insérer une ligne vide, j'effectue un tri après une nouvelle entrée, ce tri regroupe toutes les lignes, ensuite, j'insère

une ligne vide à chaque changement de nom

la macro m'insère une ligne vide en ligne 2 en-dessous de l'entête de colonne, j'ai donc créé un code qui me supprime cette ligne.

Pour le reste tout à l'air de bien marcher.

Encore merci pour ton savoir et ta disponibilité.

Amitiés

Pierrot

Rechercher des sujets similaires à "inserer ligne vide liste nom"