vba copier des données sous plusieurs conditions

  • Auteur de la discussion harudu05
  • Date de début

harudu05

Nouveau membre
Bonjour,

Après avoir fait le tour de tous les sujets que j'ai trouvé aucun ne parviens à résoudre mon problème.

je souhaite copier des données sous plusieurs condition. Je m'explique j'ai un classeur avec plusieurs onglet . Dans l'onglet classeur 1 j'ai a BDD à trié dans les différents autres onglets.
J'ai pour ce faire plusieurs conditions que j'ai mis sous la forme de select case.
Mon problème ça ne fonctionne pas très bien dès qu'il va trouvé une correspondance pour la première condition il va tout copier dans le 1ere onglet et s’arrêter la.
Je vous met le code ce sera peut être plus compréhensible.
Code :
Sub traitement ()

'Traitement des données

Dim ligne As Long
Dim ligne2 As Long
Dim ligne3 As Long
Dim ligne4 As Long
Dim lignenonvide As Long


'la variable ligne s'ingremente a partir de la derniere cellule rempli de "Voitures"
ligne = Cells(Application.Rows.Count, 5).End(xlUp)(2).Row
'la variable ligne s'ingremente a partir de la derniere cellule rempli de "Camion"
ligne2 = Cells(Application.Rows.Count, 5).End(xlUp)(2).Row
'la variable ligne s'ingremente a partir de la derniere cellule rempli de "Bateau"
ligne3 = Cells(Application.Rows.Count, 5).End(xlUp)(2).Row
'la variable ligne s'ingremente a partir de la derniere cellule rempli de "Moto"
ligne4 = Cells(Application.Rows.Count, 5).End(xlUp)(2).Row

'la variable lignenonvide copie jusqu'a la derniere cellule remplie
lignenonvide = Cells(Application.Rows.Count, 1).End(xlUp).Row


Dim I As Integer

fin = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
For I = 2 To fin

Select Case Sheets("Feuil1").Range("A2" & I)

Case "Clio", "Twingo", "Megane", "Swift", "mito", "guilieta":

Sheets("Feuil1").Range("A2:A" & lignenonvide).Copy Sheets("Voitures").Range("F" & ligne)
Sheets("Feuil1").Range("B2:B" & lignenonvide).Copy Sheets("Voitures").Range("G" & ligne)
Sheets("Feuil1").Range("C2:C" & lignenonvide).Copy Sheets("Voitures").Range("I" & ligne)
Sheets("Feuil1").Range("E2:E" & lignenonvide).Copy Sheets("Voitures").Range("B" & ligne)
Sheets("Feuil1").Range("F2:F" & lignenonvide).Copy Sheets("Voitures").Range("E" & ligne)
Sheets("Feuil1").Range("G2:G" & lignenonvide).Copy Sheets("Voitures").Range("J" & ligne)
Sheets("Feuil1").Range("H2:H" & lignenonvide).Copy Sheets("Voitures").Range("L" & ligne)


Case "Renaud", "Volvo", "Citroen", "Iveco":

Sheets("Feuil1").Range("A2:A" & lignenonvide).Copy Sheets("Fermes").Range("F" & ligne2)
Sheets("Feuil1").Range("B2:B" & lignenonvide).Copy Sheets("Fermes").Range("G" & ligne2)
Sheets("Feuil1").Range("C2:C" & lignenonvide).Copy Sheets("Fermes").Range("I" & ligne2)
Sheets("Feuil1").Range("E2:E" & lignenonvide).Copy Sheets("Fermes").Range("B" & ligne2)
Sheets("Feuil1").Range("F2:F" & lignenonvide).Copy Sheets("Fermes").Range("E" & ligne2)
Sheets("Feuil1").Range("G2:F" & lignenonvide).Copy Sheets("Fermes").Range("J" & ligne2)
Sheets("Feuil1").Range("H2:H" & lignenonvide).Copy Sheets("Fermes").Range("L" & ligne2)


Case "Zodiac":

Sheets("Feuil1").Range("A2:A" & lignenonvide).Copy Sheets("Dessert").Range("F" & ligne3)
Sheets("Feuil1").Range("B2:B" & lignenonvide).Copy Sheets("Dessert").Range("G" & ligne3)
Sheets("Feuil1").Range("C2:C" & lignenonvide).Copy Sheets("Dessert").Range("I" & ligne3)
Sheets("Feuil1").Range("E2:E" & lignenonvide).Copy Sheets("Dessert").Range("B" & ligne3)
Sheets("Feuil1").Range("F2:F" & lignenonvide).Copy Sheets("Dessert").Range("E" & ligne3)
Sheets("Feuil1").Range("G2:G" & lignenonvide).Copy Sheets("Dessert").Range("J" & ligne3)
Sheets("Feuil1").Range("H2:H" & lignenonvide).Copy Sheets("Dessert").Range("L" & ligne3)


Case "Yamaha", "Honda", "Suzuki", "Kawasaki", "Ducati", "Ktm", "Aprilla":

Sheets("Feuil1").Range("A2:A" & lignenonvide).Copy Sheets("Tubs").Range("F" & ligne4)
Sheets("Feuil1").Range("B2:B" & lignenonvide).Copy Sheets("Tubs").Range("G" & ligne4)
Sheets("Feuil1").Range("C2:C" & lignenonvide).Copy Sheets("Tubs").Range("I" & ligne4)
Sheets("Feuil1").Range("E2:E" & lignenonvide).Copy Sheets("Tubs").Range("B" & ligne4)
Sheets("Feuil1").Range("F2:F" & lignenonvide).Copy Sheets("Tubs").Range("E" & ligne4)
Sheets("Feuil1").Range("G2:G" & lignenonvide).Copy Sheets("Tubs").Range("J" & ligne4)
Sheets("Feuil1").Range("H2:H" & lignenonvide).Copy Sheets("Tubs").Range("L" & ligne4)

End Select
Next I

End Sub
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 134
Messages
6 718 052
Membres
1 586 392
Dernier membre
jpaulNonDispo
Partager cette page
Haut