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