Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

macro pour inserer une ligne vide a chaque changement de nom...

21 réponses
Avatar
e.l.f
Bonjour

Voudriez vous bien m'aider a faire une macro SVP ? je ne suis absolument
pas developpeur et je seche un peu...



j'ai un classeur excel avec une colonne nom, une colonne prenom, une
colonne .... etc etc ...


je classe par nom j'ai donc

dupont marc
dupont jean
martin david
dubois jane
dubois valerie ....


qui pourrait me faire ou m'expliquer comment faire une macro qui insere
une ligne vide apres chaque changement de ligne ?

et une macro qui fasse l'inverse c'est a dire qui supprime les ligne vide


Merci pour votre aide !!!

e.l.f



--
R : Parce qu'on lit, en général, de gauche à droite et de haut en bas.
Q : Pourquoi dois-je répondre en dessous de la question ?

Fervent utilisateur de Thunderbird
A fond contre la quote de porc !

10 réponses

1 2 3
Avatar
...Patrick
Sub ins()
lastr = Range("A65000").End(xlUp).Row
For i = lastr To 2 Step -1
Cells(i, 1).Select
Selection.EntireRow.Insert Shift:=xlDown
Next
End Sub

Sub DetruireLignesVides() ' Commencer par le bas
DerniereLigne = ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = False
For r = DerniereLigne To 1 Step -1
If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete
Next r
ActiveSheet.UsedRange
End Sub


--
...Patrick
Quoi que vous fassiez, faites le bien .
Mail: http://cerbermail.com/?KPW0tTCjFw
Connectez vous sur ce forum par :
news://msnews.microsoft.com/microsoft.public.fr.excel


"e.l.f" a écrit dans le message de
news:
Bonjour

Voudriez vous bien m'aider a faire une macro SVP ? je ne suis absolument
pas developpeur et je seche un peu...



j'ai un classeur excel avec une colonne nom, une colonne prenom, une
colonne .... etc etc ...


je classe par nom j'ai donc

dupont marc
dupont jean
martin david
dubois jane
dubois valerie ....


qui pourrait me faire ou m'expliquer comment faire une macro qui insere
une ligne vide apres chaque changement de ligne ?

et une macro qui fasse l'inverse c'est a dire qui supprime les ligne vide


Merci pour votre aide !!!

e.l.f



--
R : Parce qu'on lit, en général, de gauche à droite et de haut en bas.
Q : Pourquoi dois-je répondre en dessous de la question ?

Fervent utilisateur de Thunderbird
A fond contre la quote de porc !


Avatar
e.l.f
Sub ins()
lastr = Range("A65000").End(xlUp).Row
For i = lastr To 2 Step -1
Cells(i, 1).Select
Selection.EntireRow.Insert Shift:=xlDown
Next
End Sub


Merci patrick pour tes macro !
celle qui supprime les ligne fonctionne admirablement..

par contre celle qui insere les ligne ne fonctionne pas comme je
l'aurais souhaité (je suis désolé)

il faut que

dupont marc
dupont jean
martin david
dubois jane
dubois valerie

devienne:

dupont marc
dupont jean

martin david

dubois jane
dubois valerie ....

un saut de ligne apres que le dernier nom commun... (le classeur est trié)

J'espere que tu peux continuer a m'aider !

A+

--
R : Parce qu'on lit, en général, de gauche à droite et de haut en bas.
Q : Pourquoi dois-je répondre en dessous de la question ?

Fervent utilisateur de Thunderbird
A fond contre la quote de porc !

Avatar
...Patrick
plus le temps, sorry mais qq t'aideras ici surement

ciao

"e.l.f" a écrit dans le message de
news:%
Sub ins()
lastr = Range("A65000").End(xlUp).Row
For i = lastr To 2 Step -1
Cells(i, 1).Select
Selection.EntireRow.Insert Shift:=xlDown
Next
End Sub


Merci patrick pour tes macro !
celle qui supprime les ligne fonctionne admirablement..

par contre celle qui insere les ligne ne fonctionne pas comme je
l'aurais souhaité (je suis désolé)

il faut que

dupont marc
dupont jean
martin david
dubois jane
dubois valerie

devienne:

dupont marc
dupont jean

martin david

dubois jane
dubois valerie ....

un saut de ligne apres que le dernier nom commun... (le classeur est trié)

J'espere que tu peux continuer a m'aider !

A+

--
R : Parce qu'on lit, en général, de gauche à droite et de haut en bas.
Q : Pourquoi dois-je répondre en dessous de la question ?

Fervent utilisateur de Thunderbird
A fond contre la quote de porc !



Avatar
e.l.f

plus le temps, sorry mais qq t'aideras ici surement

ciao


c'est pas grave merci de ton aide !
--
R : Parce qu'on lit, en général, de gauche à droite et de haut en bas.
Q : Pourquoi dois-je répondre en dessous de la question ?

Fervent utilisateur de Thunderbird
A fond contre la quote de porc !

Avatar
JpPradier
Bonjour e.l.f

J'ai modifié la macro de Patrick :

Sub ins()
lastr = Range("A65000").End(xlUp).Row
For i = lastr To 1 Step -1
nom1 = Left(Cells(i, 1).Value, InStr(Cells(i, 1).Value, " "))
nom2 = Left(Cells(i + 1, 1).Value, InStr(Cells(i + 1, 1).Value, " "))
If nom1 <> nom2 Then
Cells(i + 1, 1).Select
Selection.EntireRow.Insert Shift:=xlDown
End If
Next
End Sub

j-p
Avatar
...Patrick
Merci JP !!!


--
...Patrick (revenu)

Quoi que vous fassiez, faites le bien .
Mail: http://cerbermail.com/?KPW0tTCjFw
Connectez vous sur ce forum par :
news://msnews.microsoft.com/microsoft.public.fr.excel

"JpPradier" a écrit dans le message
de news:
Bonjour e.l.f

J'ai modifié la macro de Patrick :

Sub ins()
lastr = Range("A65000").End(xlUp).Row
For i = lastr To 1 Step -1
nom1 = Left(Cells(i, 1).Value, InStr(Cells(i, 1).Value, " "))
nom2 = Left(Cells(i + 1, 1).Value, InStr(Cells(i + 1, 1).Value, " "))
If nom1 <> nom2 Then
Cells(i + 1, 1).Select
Selection.EntireRow.Insert Shift:=xlDown
End If
Next
End Sub

j-p



Avatar
JpPradier
Ben c'était avec plaisir ;-))

j-p
Avatar
e.l.f

Bonjour e.l.f

J'ai modifié la macro de Patrick :



je suis desolé mais elle ne fonctionne pas :-(
et j'avoue ne pas trop comprendre pourquoi ?!

(rien ne se passe quand je l'execute ...)

Merci de continuer a m'aider !!

--
R : Parce qu'on lit, en général, de gauche à droite et de haut en bas.
Q : Pourquoi dois-je répondre en dessous de la question ?

Fervent utilisateur de Thunderbird
A fond contre la quote de porc !

Avatar
JpPradier
Bonjour e.l.f

tes données sont bien en colonne A ?

j-p
Avatar
e.l.f
Bonjour e.l.f

tes données sont bien en colonne A ?

j-p

dans le classeur que j'utilise pour tester ta macro j'ai:


les noms en colonne a, les prenoms en colonne b. la ligne 1 contient les
en-tetes. dans le classeur final, il y aura les nom seront dans d'autres
colonnes mais je modifierais l'instruction lastr =
Range("A65000").End(xlUp).Row en fonction.

Merci de ton aide !

--
R : Parce qu'on lit, en général, de gauche à droite et de haut en bas.
Q : Pourquoi dois-je répondre en dessous de la question ?

Fervent utilisateur de Thunderbird
A fond contre la quote de porc !

1 2 3