J'ai un tableau avec des noms en colonne R
J'aimerais si possible que une macro me cherche tous les noms de par exemple
madame tartempion et monsieur dugenou de cette colonne r et me classe toute
la ligne sur un autre onglet nommé si madame tartempion ben tartenpion et si
monsieur dugenou ben dugenou
merci de votre aide par avance
et tous mes voeux pour cette année 2010
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
FFO
Salut à toi
Soit l'onglet "Tableau" avec l'ensemble des données Je te propose ceci :
For i = 1 to sheets.Count If Sheets(i).Name = "ben tartenpion" Then tartenpion = i End If If Sheets(i).Name = "ben dugenou" Then dugenou = i End If Next Do While j < Sheets("Tableau").Range("R2", "R" & Sheets("Tableau").Range("R65535").End(Xlup).Row+1) If Sheets("Tableau").Range("R" & j)= "madame tartempion" Then Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets(tartenpion).Range("A" & Sheets(tartenpion).Range("R65535").End(Xlup).Offset(1,0).Row) End If If Sheets("Tableau").Range("R" & j)= "monsieur dugenou" Then Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets(dugenou).Range("A" & Sheets(dugenou).Range("R65535").End(Xlup).Offset(1,0).Row) End If j=j+1 Loop
Je n'ai pas essayé mais celà devrait fonctionner N'oublies pas de bien nommer ta feuille de données "Tableau" ou de modifier tous les mots "Tableau" du code avec le nom attribué de cette feuille
Donnes moi des nouvelles !!!!
Salut à toi
Soit l'onglet "Tableau" avec l'ensemble des données
Je te propose ceci :
For i = 1 to sheets.Count
If Sheets(i).Name = "ben tartenpion" Then
tartenpion = i
End If
If Sheets(i).Name = "ben dugenou" Then
dugenou = i
End If
Next
Do While j < Sheets("Tableau").Range("R2", "R" &
Sheets("Tableau").Range("R65535").End(Xlup).Row+1)
If Sheets("Tableau").Range("R" & j)= "madame tartempion" Then
Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets(tartenpion).Range("A"
& Sheets(tartenpion).Range("R65535").End(Xlup).Offset(1,0).Row)
End If
If Sheets("Tableau").Range("R" & j)= "monsieur dugenou" Then
Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets(dugenou).Range("A" &
Sheets(dugenou).Range("R65535").End(Xlup).Offset(1,0).Row)
End If
j=j+1
Loop
Je n'ai pas essayé mais celà devrait fonctionner
N'oublies pas de bien nommer ta feuille de données "Tableau" ou de modifier
tous les mots "Tableau" du code avec le nom attribué de cette feuille
Soit l'onglet "Tableau" avec l'ensemble des données Je te propose ceci :
For i = 1 to sheets.Count If Sheets(i).Name = "ben tartenpion" Then tartenpion = i End If If Sheets(i).Name = "ben dugenou" Then dugenou = i End If Next Do While j < Sheets("Tableau").Range("R2", "R" & Sheets("Tableau").Range("R65535").End(Xlup).Row+1) If Sheets("Tableau").Range("R" & j)= "madame tartempion" Then Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets(tartenpion).Range("A" & Sheets(tartenpion).Range("R65535").End(Xlup).Offset(1,0).Row) End If If Sheets("Tableau").Range("R" & j)= "monsieur dugenou" Then Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets(dugenou).Range("A" & Sheets(dugenou).Range("R65535").End(Xlup).Offset(1,0).Row) End If j=j+1 Loop
Je n'ai pas essayé mais celà devrait fonctionner N'oublies pas de bien nommer ta feuille de données "Tableau" ou de modifier tous les mots "Tableau" du code avec le nom attribué de cette feuille
Donnes moi des nouvelles !!!!
LSteph
Bonjour,
C'est "ben" compliqué! Je ne dois pas avoir la vue aussi claire que ce que je lis dans le fil, déjà me souviens plus d'avoir connu un "ben dugenou" et me viendrait pas à l'idée que cela corresponde à sheet.name "ben" c'est qu'on sait "pô" non plus pourquoi Madame ou Monsieur Tu parle de Nom ou de Civilité + Nom .. Prénom??
En fait clairement est-ce-que ta question "serait y po ben que" tu as de collés des Monsieur ou Madame et leur nom (et peut être aussi le prénom c'est à préciser) et que tu veuille les séparer pour remettre convenablement Civilité et Nom dans une cellule respective ou peux tu confirmer si l'onglet s'appellera aiussi Madame Tartempioon ou "ben" seulement tartempion Faut-il creer les onglets du même nom s'il n'existe pas? Doit on considerer si le nom est long qu'on ne prend que les n premiers caracteres (<31)
Ou "ben" en http://cjoint.com mets un exemple de ton classeur et ce que tu veux obtenir.
(Ca sera "ben" plus simple)
Cordialement.
-- lSteph
On 6 jan, 08:58, "shillow" wrote:
Bonjour,
J'ai un tableau avec des noms en colonne R J'aimerais si possible que une macro me cherche tous les noms de par exem ple madame tartempion et monsieur dugenou de cette colonne r et me classe tou te la ligne sur un autre onglet nommé si madame tartempion ben tartenpion et si monsieur dugenou ben dugenou
merci de votre aide par avance et tous mes voeux pour cette année 2010
stef
Bonjour,
C'est "ben" compliqué!
Je ne dois pas avoir la vue aussi claire que ce que je lis dans le
fil, déjà me souviens plus d'avoir connu un "ben dugenou"
et me viendrait pas à l'idée que cela corresponde à sheet.name
"ben" c'est qu'on sait "pô" non plus pourquoi Madame ou Monsieur
Tu parle de Nom ou de Civilité + Nom .. Prénom??
En fait clairement est-ce-que ta question "serait y po ben que" tu as
de collés des Monsieur ou Madame et leur nom (et peut être aussi le
prénom c'est à préciser)
et que tu veuille les séparer pour remettre convenablement Civilité et
Nom dans une cellule respective
ou peux tu confirmer si l'onglet s'appellera aiussi Madame Tartempioon
ou "ben" seulement tartempion
Faut-il creer les onglets du même nom s'il n'existe pas?
Doit on considerer si le nom est long qu'on ne prend que les n
premiers caracteres (<31)
Ou "ben" en http://cjoint.com mets un exemple de ton classeur et ce
que tu veux obtenir.
(Ca sera "ben" plus simple)
Cordialement.
--
lSteph
On 6 jan, 08:58, "shillow" <step...@prodiag.fr> wrote:
Bonjour,
J'ai un tableau avec des noms en colonne R
J'aimerais si possible que une macro me cherche tous les noms de par exem ple
madame tartempion et monsieur dugenou de cette colonne r et me classe tou te
la ligne sur un autre onglet nommé si madame tartempion ben tartenpion et si
monsieur dugenou ben dugenou
merci de votre aide par avance
et tous mes voeux pour cette année 2010
C'est "ben" compliqué! Je ne dois pas avoir la vue aussi claire que ce que je lis dans le fil, déjà me souviens plus d'avoir connu un "ben dugenou" et me viendrait pas à l'idée que cela corresponde à sheet.name "ben" c'est qu'on sait "pô" non plus pourquoi Madame ou Monsieur Tu parle de Nom ou de Civilité + Nom .. Prénom??
En fait clairement est-ce-que ta question "serait y po ben que" tu as de collés des Monsieur ou Madame et leur nom (et peut être aussi le prénom c'est à préciser) et que tu veuille les séparer pour remettre convenablement Civilité et Nom dans une cellule respective ou peux tu confirmer si l'onglet s'appellera aiussi Madame Tartempioon ou "ben" seulement tartempion Faut-il creer les onglets du même nom s'il n'existe pas? Doit on considerer si le nom est long qu'on ne prend que les n premiers caracteres (<31)
Ou "ben" en http://cjoint.com mets un exemple de ton classeur et ce que tu veux obtenir.
(Ca sera "ben" plus simple)
Cordialement.
-- lSteph
On 6 jan, 08:58, "shillow" wrote:
Bonjour,
J'ai un tableau avec des noms en colonne R J'aimerais si possible que une macro me cherche tous les noms de par exem ple madame tartempion et monsieur dugenou de cette colonne r et me classe tou te la ligne sur un autre onglet nommé si madame tartempion ben tartenpion et si monsieur dugenou ben dugenou
merci de votre aide par avance et tous mes voeux pour cette année 2010
stef
FFO
Rebonjour à toi
Ma proposition peut être simplifiée ainsi :
Do While j < Sheets("Tableau").Range("R2", "R" & Sheets("Tableau").Range("R65535").End(Xlup).Row+1) If Sheets("Tableau").Range("R" & j)= "madame tartempion" Then Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets("ben tartenpion").Range("A" & Sheets("ben tartenpion").Range("R65535").End(Xlup).Offset(1,0).Row) End If If Sheets("Tableau").Range("R" & j)= "monsieur dugenou" Then Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets("ben dugenou").Range("A" & Sheets("ben dugenou").Range("R65535").End(Xlup).Offset(1,0).Row) End If j=j+1 Loop
La première boucle est inutile Mille excuses
Fais des essais et dis moi !!!!!
Rebonjour à toi
Ma proposition peut être simplifiée ainsi :
Do While j < Sheets("Tableau").Range("R2", "R" &
Sheets("Tableau").Range("R65535").End(Xlup).Row+1)
If Sheets("Tableau").Range("R" & j)= "madame tartempion" Then
Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets("ben
tartenpion").Range("A"
& Sheets("ben tartenpion").Range("R65535").End(Xlup).Offset(1,0).Row)
End If
If Sheets("Tableau").Range("R" & j)= "monsieur dugenou" Then
Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets("ben
dugenou").Range("A" &
Sheets("ben dugenou").Range("R65535").End(Xlup).Offset(1,0).Row)
End If
j=j+1
Loop
Do While j < Sheets("Tableau").Range("R2", "R" & Sheets("Tableau").Range("R65535").End(Xlup).Row+1) If Sheets("Tableau").Range("R" & j)= "madame tartempion" Then Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets("ben tartenpion").Range("A" & Sheets("ben tartenpion").Range("R65535").End(Xlup).Offset(1,0).Row) End If If Sheets("Tableau").Range("R" & j)= "monsieur dugenou" Then Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets("ben dugenou").Range("A" & Sheets("ben dugenou").Range("R65535").End(Xlup).Offset(1,0).Row) End If j=j+1 Loop
La première boucle est inutile Mille excuses
Fais des essais et dis moi !!!!!
michdenis
Bonjour,
Si je peux me permettre une suggestion... l'indentation du code rend la lecture d'un code plus simple... Excel se fout de la présentation du code mais pour le lecteur, c'est autre chose !
Voici la présentation de ta macro indentée en espérant que je n'ai pas modifié son contenu !
'--------------------------------------- Sub test()
Dim DerLig As Long, j As Long Dim Sh As Worksheet, Sh1 As Worksheet Set Sh = Sheets("tartempion") Set Sh1 = Sheets("DuGenou")
j = 1 With Sheets("Tableau") DerLig = .Range("R65536").End(xlUp).Row Do While j < DerLig With .Range("R" & j) If .Value = "madame tartempion" Then .EntireRow.Copy _ Sh.Range("A" & Sh.Range("R65535") _ .End(xlUp).Offset(1, 0).Row) ElseIf .Value = "monsieur dugenou" Then .EntireRow.Copy _ Sh1.Range("A" & Sh1.Range("R65535") _ .End(xlUp).Offset(1, 0).Row) End If End With j = j + 1 Loop End With End Sub '---------------------------------------
"FFO" a écrit dans le message de groupe de discussion :
Rebonjour à toi
Ma proposition peut être simplifiée ainsi :
Do While j < Sheets("Tableau").Range("R2", "R" & Sheets("Tableau").Range("R65535").End(Xlup).Row+1) If Sheets("Tableau").Range("R" & j)= "madame tartempion" Then Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets("ben tartenpion").Range("A" & Sheets("ben tartenpion").Range("R65535").End(Xlup).Offset(1,0).Row) End If If Sheets("Tableau").Range("R" & j)= "monsieur dugenou" Then Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets("ben dugenou").Range("A" & Sheets("ben dugenou").Range("R65535").End(Xlup).Offset(1,0).Row) End If j=j+1 Loop
La première boucle est inutile Mille excuses
Fais des essais et dis moi !!!!!
Bonjour,
Si je peux me permettre une suggestion...
l'indentation du code rend la lecture d'un code
plus simple... Excel se fout de la présentation
du code mais pour le lecteur, c'est autre chose !
Voici la présentation de ta macro indentée en
espérant que je n'ai pas modifié son contenu !
'---------------------------------------
Sub test()
Dim DerLig As Long, j As Long
Dim Sh As Worksheet, Sh1 As Worksheet
Set Sh = Sheets("tartempion")
Set Sh1 = Sheets("DuGenou")
j = 1
With Sheets("Tableau")
DerLig = .Range("R65536").End(xlUp).Row
Do While j < DerLig
With .Range("R" & j)
If .Value = "madame tartempion" Then
.EntireRow.Copy _
Sh.Range("A" & Sh.Range("R65535") _
.End(xlUp).Offset(1, 0).Row)
ElseIf .Value = "monsieur dugenou" Then
.EntireRow.Copy _
Sh1.Range("A" & Sh1.Range("R65535") _
.End(xlUp).Offset(1, 0).Row)
End If
End With
j = j + 1
Loop
End With
End Sub
'---------------------------------------
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de groupe de discussion :
B85D644F-8856-4755-A889-D6C204B0574F@microsoft.com...
Rebonjour à toi
Ma proposition peut être simplifiée ainsi :
Do While j < Sheets("Tableau").Range("R2", "R" &
Sheets("Tableau").Range("R65535").End(Xlup).Row+1)
If Sheets("Tableau").Range("R" & j)= "madame tartempion" Then
Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets("ben
tartenpion").Range("A"
& Sheets("ben tartenpion").Range("R65535").End(Xlup).Offset(1,0).Row)
End If
If Sheets("Tableau").Range("R" & j)= "monsieur dugenou" Then
Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets("ben
dugenou").Range("A" &
Sheets("ben dugenou").Range("R65535").End(Xlup).Offset(1,0).Row)
End If
j=j+1
Loop
Si je peux me permettre une suggestion... l'indentation du code rend la lecture d'un code plus simple... Excel se fout de la présentation du code mais pour le lecteur, c'est autre chose !
Voici la présentation de ta macro indentée en espérant que je n'ai pas modifié son contenu !
'--------------------------------------- Sub test()
Dim DerLig As Long, j As Long Dim Sh As Worksheet, Sh1 As Worksheet Set Sh = Sheets("tartempion") Set Sh1 = Sheets("DuGenou")
j = 1 With Sheets("Tableau") DerLig = .Range("R65536").End(xlUp).Row Do While j < DerLig With .Range("R" & j) If .Value = "madame tartempion" Then .EntireRow.Copy _ Sh.Range("A" & Sh.Range("R65535") _ .End(xlUp).Offset(1, 0).Row) ElseIf .Value = "monsieur dugenou" Then .EntireRow.Copy _ Sh1.Range("A" & Sh1.Range("R65535") _ .End(xlUp).Offset(1, 0).Row) End If End With j = j + 1 Loop End With End Sub '---------------------------------------
"FFO" a écrit dans le message de groupe de discussion :
Rebonjour à toi
Ma proposition peut être simplifiée ainsi :
Do While j < Sheets("Tableau").Range("R2", "R" & Sheets("Tableau").Range("R65535").End(Xlup).Row+1) If Sheets("Tableau").Range("R" & j)= "madame tartempion" Then Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets("ben tartenpion").Range("A" & Sheets("ben tartenpion").Range("R65535").End(Xlup).Offset(1,0).Row) End If If Sheets("Tableau").Range("R" & j)= "monsieur dugenou" Then Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets("ben dugenou").Range("A" & Sheets("ben dugenou").Range("R65535").End(Xlup).Offset(1,0).Row) End If j=j+1 Loop
La première boucle est inutile Mille excuses
Fais des essais et dis moi !!!!!
shillow
MERCI A VOUS C EST GENIAL
"michdenis" a écrit dans le message de news:
Bonjour,
Si je peux me permettre une suggestion... l'indentation du code rend la lecture d'un code plus simple... Excel se fout de la présentation du code mais pour le lecteur, c'est autre chose !
Voici la présentation de ta macro indentée en espérant que je n'ai pas modifié son contenu !
'--------------------------------------- Sub test()
Dim DerLig As Long, j As Long Dim Sh As Worksheet, Sh1 As Worksheet Set Sh = Sheets("tartempion") Set Sh1 = Sheets("DuGenou")
j = 1 With Sheets("Tableau") DerLig = .Range("R65536").End(xlUp).Row Do While j < DerLig With .Range("R" & j) If .Value = "madame tartempion" Then .EntireRow.Copy _ Sh.Range("A" & Sh.Range("R65535") _ .End(xlUp).Offset(1, 0).Row) ElseIf .Value = "monsieur dugenou" Then .EntireRow.Copy _ Sh1.Range("A" & Sh1.Range("R65535") _ .End(xlUp).Offset(1, 0).Row) End If End With j = j + 1 Loop End With End Sub '---------------------------------------
"FFO" a écrit dans le message de groupe de discussion :
Rebonjour à toi
Ma proposition peut être simplifiée ainsi :
Do While j < Sheets("Tableau").Range("R2", "R" & Sheets("Tableau").Range("R65535").End(Xlup).Row+1) If Sheets("Tableau").Range("R" & j)= "madame tartempion" Then Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets("ben tartenpion").Range("A" & Sheets("ben tartenpion").Range("R65535").End(Xlup).Offset(1,0).Row) End If If Sheets("Tableau").Range("R" & j)= "monsieur dugenou" Then Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets("ben dugenou").Range("A" & Sheets("ben dugenou").Range("R65535").End(Xlup).Offset(1,0).Row) End If j=j+1 Loop
La première boucle est inutile Mille excuses
Fais des essais et dis moi !!!!!
MERCI A VOUS C EST GENIAL
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
98043C45-96AE-45CF-8F18-FBD908F76D6C@microsoft.com...
Bonjour,
Si je peux me permettre une suggestion...
l'indentation du code rend la lecture d'un code
plus simple... Excel se fout de la présentation
du code mais pour le lecteur, c'est autre chose !
Voici la présentation de ta macro indentée en
espérant que je n'ai pas modifié son contenu !
'---------------------------------------
Sub test()
Dim DerLig As Long, j As Long
Dim Sh As Worksheet, Sh1 As Worksheet
Set Sh = Sheets("tartempion")
Set Sh1 = Sheets("DuGenou")
j = 1
With Sheets("Tableau")
DerLig = .Range("R65536").End(xlUp).Row
Do While j < DerLig
With .Range("R" & j)
If .Value = "madame tartempion" Then
.EntireRow.Copy _
Sh.Range("A" & Sh.Range("R65535") _
.End(xlUp).Offset(1, 0).Row)
ElseIf .Value = "monsieur dugenou" Then
.EntireRow.Copy _
Sh1.Range("A" & Sh1.Range("R65535") _
.End(xlUp).Offset(1, 0).Row)
End If
End With
j = j + 1
Loop
End With
End Sub
'---------------------------------------
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de groupe de
discussion :
B85D644F-8856-4755-A889-D6C204B0574F@microsoft.com...
Rebonjour à toi
Ma proposition peut être simplifiée ainsi :
Do While j < Sheets("Tableau").Range("R2", "R" &
Sheets("Tableau").Range("R65535").End(Xlup).Row+1)
If Sheets("Tableau").Range("R" & j)= "madame tartempion" Then
Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets("ben
tartenpion").Range("A"
& Sheets("ben tartenpion").Range("R65535").End(Xlup).Offset(1,0).Row)
End If
If Sheets("Tableau").Range("R" & j)= "monsieur dugenou" Then
Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets("ben
dugenou").Range("A" &
Sheets("ben dugenou").Range("R65535").End(Xlup).Offset(1,0).Row)
End If
j=j+1
Loop
Si je peux me permettre une suggestion... l'indentation du code rend la lecture d'un code plus simple... Excel se fout de la présentation du code mais pour le lecteur, c'est autre chose !
Voici la présentation de ta macro indentée en espérant que je n'ai pas modifié son contenu !
'--------------------------------------- Sub test()
Dim DerLig As Long, j As Long Dim Sh As Worksheet, Sh1 As Worksheet Set Sh = Sheets("tartempion") Set Sh1 = Sheets("DuGenou")
j = 1 With Sheets("Tableau") DerLig = .Range("R65536").End(xlUp).Row Do While j < DerLig With .Range("R" & j) If .Value = "madame tartempion" Then .EntireRow.Copy _ Sh.Range("A" & Sh.Range("R65535") _ .End(xlUp).Offset(1, 0).Row) ElseIf .Value = "monsieur dugenou" Then .EntireRow.Copy _ Sh1.Range("A" & Sh1.Range("R65535") _ .End(xlUp).Offset(1, 0).Row) End If End With j = j + 1 Loop End With End Sub '---------------------------------------
"FFO" a écrit dans le message de groupe de discussion :
Rebonjour à toi
Ma proposition peut être simplifiée ainsi :
Do While j < Sheets("Tableau").Range("R2", "R" & Sheets("Tableau").Range("R65535").End(Xlup).Row+1) If Sheets("Tableau").Range("R" & j)= "madame tartempion" Then Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets("ben tartenpion").Range("A" & Sheets("ben tartenpion").Range("R65535").End(Xlup).Offset(1,0).Row) End If If Sheets("Tableau").Range("R" & j)= "monsieur dugenou" Then Sheets("Tableau").Range("R" & j).Entirerow.Copy Sheets("ben dugenou").Range("A" & Sheets("ben dugenou").Range("R65535").End(Xlup).Offset(1,0).Row) End If j=j+1 Loop