VBA copier/coller avec conditions spécifiques

Résolu/Fermé
Olive0185 Messages postés 17 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 25 septembre 2008 - 5 août 2008 à 11:42
Olive0185 Messages postés 17 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 25 septembre 2008 - 6 août 2008 à 08:45
Bonjour,
Je vais essayer d'être le plus clair possible.
Sur ma 1° feuille, j'ai un nom en colonne B et une valeur en colonne E (les autres colonnes de la ligne sont vides).
Sur ma 2° feuille, je désir regrouper ces données de la façon suivante :

A / B / C
B08 / nom / valeur feuill1

Sur la feuill2 le nom est rentré manuellement.

J'ai créé, pour cela, la macro suivante :
Dim l As Long
Dim c As Long

c = Range("B65536").End(xlUp).row

For l = c To 2 Step -1
Sheets("Feuill1").Select
If Cells(l, 2).Value = "nom" And Cells(l, 1).Value = "" Then
Sheets("Feuill2").Select
If Cells(l, 2).Value = "nom" Then
Sheets("Feuill1").Select
Cells(l, 5).Select
Selection.Copy
Sheets("Feuill2").Select
Range("C4").Select
ActiveSheet.Paste
End If
End If
Next l

La macro repère bien les noms mais ne copie pas la valeur de la Feuill1 à Feuill2.

Si vous avez besoin de plus d'explication n'hésitez pas. Merci.
A voir également:

4 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
5 août 2008 à 16:59
c'est obligé du VBA, sinon tu a la fonction RechercheV
    =RECHERCHEV(A2;Feuil1!A3:B29;2)

A+
1
thev Messages postés 1851 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 15 avril 2024 681
5 août 2008 à 17:40
A la place de :

Sheets("Feuill2").Select
If Cells(l, 2).Value = "nom" Then
Sheets("Feuill1").Select
Cells(l, 5).Select
Selection.Copy
Sheets("Feuill2").Select
Range("C4").Select
ActiveSheet.Paste
End if

je mettrai :

If Sheets("Feuill2").Cells(l, 2).Value = "nom" Then
Sheets("Feuill2").Range("C4") = Sheets("Feuill1").Cells(l, 5)
End if
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
5 août 2008 à 18:25
salut thev
    If Sheets("Feuill2").Cells(l, 2).Value = "nom" Then 

nom serra jamais trouvé, c'est exprimé en litéral. De plus la recherche devrait se faire sur la Feuil1

Si pas trop de lignes, je maintient que ce serrait mieux avec une formule RechercheV
0
Olive0185 Messages postés 17 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 25 septembre 2008 6
6 août 2008 à 08:45
Merci pour votre aide. Vos interventions m'ont aidées à avancer dans ma macro.
Prob résolu.
A+
0