Création d'un tableau avec comme critère une cotation
Bonjour à tous,
Tout d'abord, désolé si je ne respecte pas certaines règles du forum :/
Ensuite, Après avoir parcouru bon nombre de forum et de sujet. Je suis actuellement bloqué.
J'ai pour but de créer une macro qui rassemble des données dans une seule et même feuille.
Ma base de donnée :
1 2 3 4 5 6 7 8 9 10 11
Essais Test Test2 1 commentaire 2 commentaire 2 commentaire 2 commentaire
Essais Test Test3 1 commentaire 1 commentaire 1 commentaire 3 commentaire
Essais Test Test4 2 commentaire 2 commentaire 2 commentaire 2 commentaire
Essais Test Test5 3 commentaire 3 commentaire 3 commentaire 3 commentaire
Essais Test Test6 2 commentaire 2 commentaire 2 commentaire 2 commentaire
Essais Test Test7 1 commentaire 3 commentaire 3 commentaire 3 commentaire
Essais Test Test8 2 commentaire 2 commentaire 2 commentaire 2 commentaire
Essais Test Test9 3 commentaire 3 commentaire 3 commentaire 3 commentaire
Essais Test Test10 2 commentaire 2 commentaire 2 commentaire 2 commentaire
Essais Test Test11 3 commentaire 3 commentaire 3 commentaire 3 commentaire
Essais Test Test12 2 commentaire 2 commentaire 2 commentaire 2 commentaire
Essais Test Test13 3 commentaire 3 commentaire 3 commentaire 3 commentaire
Essais Test Test14 2 commentaire 2 commentaire 2 commentaire 2 commentaire
Essais Test Test15 3 commentaire 3 commentaire 3 commentaire 3 commentaire
Essais Test Test16 2 commentaire 2 commentaire 2 commentaire 2 commentaire
Essais Test Test17 1 commentaire 1 commentaire 3 commentaire 3 commentaire
Essais Test Test18 2 commentaire 2 commentaire 2 commentaire 2 commentaire
Essais Test Test19 3 commentaire 3 commentaire 1 commentaire 3 commentaire
Essais Test Test20 2 commentaire 2 commentaire 2 commentaire 2 commentaire
Essais Test Test21 3 commentaire 3 commentaire 3 commentaire 3 commentaire
Essais Test Test22 2 commentaire 2 commentaire 1 commentaire 2 commentaire
Essais Test Test23 3 commentaire 3 commentaire 3 commentaire 3 commentaire
Essais Test Test24 2 commentaire 2 commentaire 2 commentaire 2 commentaire
Essais Test Test25 3 commentaire 3 commentaire 3 commentaire 3 commentaire
Essais Test Test26 2 commentaire 2 commentaire 2 commentaire 2 commentaire
Essais Test Test27 1 commentaire 3 commentaire 3 commentaire 1 commentaire
Essais Test Test28 2 commentaire 2 commentaire 2 commentaire 2 commentaire
Essais Test Test29 3 commentaire 3 commentaire 3 commentaire 3 commentaire
Essais Test Test30 2 commentaire 2 commentaire 2 commentaire 2 commentaire
Essais Test Test31 3 commentaire 3 commentaire 3 commentaire 3 commentaire
J'ai plusieurs feuilles avec exactement la même mise en forme (même colonne, même ligne mais la cotation (1,2,3 peut être différente))
Ce que je veux réaliser en macro VBA :
- Si la valeur 2 ou 3 apparaît sur la ligne i colonne 4 alors copier la ligne i colonne 1,2,3 et 4 et 5 dans un autres classeurs (vierge)
- Ensuite Si la valeur 2 ou 3 apparaît sur la ligne i colonne 6 alors copier ligne i colonne 1,2,3 6 et 7 le même classeurs à la suite de ce qui a été déjà copié.
J'ai déjà commencé une macro mais je bloque voilà mon avancement :
Sub test()
'Déclaration d'une variable entière pour stocker le nombre de ligne du tableau
Dim NombreLigne As Integer
Dim critere1 As String
'Sélection de la feuille test1 sur laquelle se trouve les données à traiter, ici par exemple test1
Sheets("test1").Select
'Enregistrement du nombre de ligne de ton tableau
NombreLigne = InputBox("Nombre de ligne à traiter ?")
'critere1 = InputBox("Critere à extraire?")
'Boucle qui va de 1 au nombre de ligne renseigné
For i = 1 To NombreLigne
'Roustesse récurrence des pannes
'Si la cellule de la ligne i et de la colonne 6 est égale à 2 ou 3 alors
If Cells(i, 6) = "2" Or Cells(i, 6) = "3" Then
'Les valeurs de la cellule de la ligne i et de la colonne 1,2,3,4,6,7 est recopié sur la feuille test2 et sur la ligne i en colonne 1,2,3,4,5
Worksheets("test3").Cells(i, 1).Value = Cells(i, 1).Value
Worksheets("test3").Cells(i, 2).Value = Cells(i, 2).Value
Worksheets("test3").Cells(i, 3).Value = Cells(i, 4).Value
Worksheets("test3").Cells(i, 4).Value = Cells(i, 6).Value
Worksheets("test3").Cells(i, 5).Value = Cells(i, 7).Value
'Fin de la condition If
End If
Sheets("test3").Activate
If Worksheets("test2").Cells(i, 6) = "2" Or Worksheets("test2").Cells(i, 6) = "3" Then
'Les valeurs de la cellule de la ligne i et de la colonne 1,2,3,4,6,7 est recopié sur la feuille test2 et sur la ligne i en colonne 1,2,3,4,5
Worksheets("test3").Cells( i, 1).Value = Worksheets("test2").Cells(i, 1).Value
Worksheets("test3").Cells( i, 2).Value = Worksheets("test2").Cells(i, 2).Value
Worksheets("test3").Cells( i, 3).Value = Worksheets("test2").Cells(i, 4).Value
Worksheets("test3").Cells( i, 4).Value = Worksheets("test2").Cells(i, 6).Value
Worksheets("test3").Cells( i, 5).Value = Worksheets("test2").Cells(i, 7).Value
End If
Next
Worksheets("test3").Range("a1:a65000").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
En espérant avoir été clair et concis
Bonne journée
Cdlmt
François
Salut François, pour être tout à fait honnête, c'est pas hyper clair :/ Si tu pouvais rajouter un classeur avec un exemple en PJ, ça pourrait aider
Sinon je vais continuer d'essayer de comprendre x)
Que voici