Bonjour à tous,
Après avoir écumé des dizaines de forums sur internet, je m'en remet à vous.
J'ai un problème avec une macro VBA.
Il y a plusieurs véhicules dans la feuille "B", j'aimerais que pour chacun de ces véhicules, la macro balaye la feuille "vieux stock" et trouve des véhicules correspondants. Par correspondant j'entends même modèle. 208 pour 208, RCZ pour RCZ etc.
Les étapes se feraient donc comme suit :
1) La macro va dans la feuille "B", copie la 1ère et 2e ligne puis, colle dans la feuille "A"
2) Aller ligne suivante et inscrire "VEHICULES CORRESPONDANTS"
3) Comparer la cellule I2 (où est inscrit le modèle, feuille "A") avec toutes les cellules G de la feuille "Vieux_stock" (où sont également entrés les modèles)
4) Pour chaque correspondance trouvée, copier la ligne en dessous de "VEHICULES CORRESPONDANTS"
Et ainsi de suite, pour chaque ligne de la feuille "B"
Voici le code :
Je vous remercie par avance de votre sollicitude, bon week-end à tous !
Guillaume
PS : je vous donne un lien pour le fichier dès que je suis chez moi, mon entreprise interdisant tous les sites type cjoint, free.fr etc.
Après avoir écumé des dizaines de forums sur internet, je m'en remet à vous.
J'ai un problème avec une macro VBA.
Il y a plusieurs véhicules dans la feuille "B", j'aimerais que pour chacun de ces véhicules, la macro balaye la feuille "vieux stock" et trouve des véhicules correspondants. Par correspondant j'entends même modèle. 208 pour 208, RCZ pour RCZ etc.
Les étapes se feraient donc comme suit :
1) La macro va dans la feuille "B", copie la 1ère et 2e ligne puis, colle dans la feuille "A"
2) Aller ligne suivante et inscrire "VEHICULES CORRESPONDANTS"
3) Comparer la cellule I2 (où est inscrit le modèle, feuille "A") avec toutes les cellules G de la feuille "Vieux_stock" (où sont également entrés les modèles)
4) Pour chaque correspondance trouvée, copier la ligne en dessous de "VEHICULES CORRESPONDANTS"
Et ainsi de suite, pour chaque ligne de la feuille "B"
Voici le code :
HTML:
Sub Macro4()
'
' Macro4 Macro
' Macro enregistrée le 27/07/2012 par Guillaume JEAN
'
'Premier véhicule
Sheets("A").Select
Cells.Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Sheets("B").Select
Selection.End(xlUp).Select
Selection.End(xlUp).Select
Range("A1:P2").Select
Selection.Copy
ActiveSheet.Next.Select
Range("A1").Select
ActiveSheet.Paste
Sheets("A").Select
ActiveCell.Offset(2, 0).Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "VEHICULES CORRESPONDANTS"
ActiveCell.Offset(1, 0).Select
Sheets("Vieux_stock").Select
End Sub
'Matchage premier véhicule
'- sélection de la feuille "à lire" ("Vieux stock")
'- lecture de chaque ligne, tant que la cellule "G" n'est pas vide
'- si la ligne répond à la condition, alors écriture des données dans la feuille "à écrire"
Sub Procedure()
Dim DerniereLigne As Long 'dans la feuille à écrire
Dim LigneActive As Long 'dans la feuille à lire
Sheets("Vieux_Stock").Select
Range("G4").Select
While ActiveCell.Value <> Empty
LigneActive = ActiveCell.Row 'n° de la ligne "à lire"
If Cells(LigneActive, 6).Value = Sheets("A").Range("I2").Value Then
'écriture dans la feuille "A"
With Sheets("A")
DerniereLigne = .Range("A65536").End(xlUp).Offset(1, 0).Row 'n° de la ligne "à écrire"
End With
End If
ActiveCell.Offset(1, 0).Activate
Wend
End Sub
Je vous remercie par avance de votre sollicitude, bon week-end à tous !
Guillaume
PS : je vous donne un lien pour le fichier dès que je suis chez moi, mon entreprise interdisant tous les sites type cjoint, free.fr etc.