tableau et recherche

Le
shillow
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 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

stef
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #20909041
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 !!!!
LSteph
Le #20909411
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"
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
Le #20909771
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 !!!!!
michdenis
Le #20910001
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"
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
Le #20928851
MERCI A VOUS C EST GENIAL


"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" 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 !!!!!



Publicité
Poster une réponse
Anonyme