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 !
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" <e.l.f@cdg.44.fr> a écrit dans le message de
news:uI6xrlAkEHA.3612@TK2MSFTNGP12.phx.gbl...
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 !
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 !
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 !
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 !
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 !
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 !
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 !
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 !
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
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
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
...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
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" <jp.pradier.JVeuxPasDeSpam@wanadoo.fr> a écrit dans le message
de news:ODWYfiCkEHA.2436@TK2MSFTNGP09.phx.gbl...
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
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
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 !
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 !
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 !