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'aimerais séparé les cotations cotations des colonnes 4 et 6 par une ligne. J'aimerais que cette macro soit effectué pour toutes les cotations (colonne 4,6,8 et 10)

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)

29test-vba.xlsm (40.17 Ko)

Que voici

Rechercher des sujets similaires à "creation tableau comme critere cotation"