Mettre en évidence des similitudes entre 2 colonnes Excel [VBA]

MaximeC

XLDnaute Junior
Bonjour,

Dans le cadre d'un emploie saisonnier, on m'a demandé de réaliser une macro afin de comparer des données... Ayant très peu de base en VBA (si ce n'est un cours ayant eu pour objet la création de userform afin de réaliser des expériences probabilistes), je me tourne vers vous afin de m'orienter dans cette réalisation.

L'objectif est de trouver si il y en a, des similitudes entre une colonne de base B (environ 7500 lignes) et des données actualisées régulièrement à inserer (par moi même) dans le même fichier excel, colonne R (nombre de lignes variables ... maximum 500).

L'autre but étant de repérer facilement les similtudes, serait-il possible de mettre en couleur les lignes des cellules identiques au fichier importer? (une couleur par référence, jusqu'à la colonne P).

D'autre part, il y a 3 typeS de références à comparer, séparées dans 3 colonnes distinctes. Est-il possible de réaliser les demandes ci dessus sur chacune des colonnes (B,C et F)?

Enfin, afin de faciliter l'utilisation future de mes collègues, il me semble qu'il est possible de créer un bouton de commande afin de lancer chacun des 3 programmes. Pouvez vous les réaliser?

Dans l'attente de vos réponses, je vous souhaite une agréable journée.

Merci, et bon courage.

Maxime
 
Dernière édition:

leop93

XLDnaute Occasionnel
Re : Mettre en évidence des similitudes entre 2 colonnes Excel [VBA]

Ca allait avec l'autre partie du code. Celle que j'ai supprimé.

15Mo pour 9 boutons et 50 lignes, tu es certains ? Car j'ai une vingtaine de boutons, plus de 100 lignes, de la couleur et 2000 lignes de code pour 130Ko...
 

MaximeC

XLDnaute Junior
Re : Mettre en évidence des similitudes entre 2 colonnes Excel [VBA]

Code:
Sub CopierColler()
Dim i&
Z = 1
 LigneFeuille1 = 2
    Sheets("Fichier").Select
    
      For i = 0 To [Q65536].End(xlUp).Row ' Parcours de la colonne Q de la feuille 1
       
        If Range("Q" & i).Offset(i, 0).Value = "x" Then ' Test qui doit parcourir la colonne Q entièrement pour savoir si les valeurs des cellules sont équivalement à Q
           Range("Q" & i).Offset(i, 0).EntireRow.Copy ' Si c'est le cas je souhaite copier la ligne, de la colonne A à P vers le fichier 2
           Sheets("Filtre").Select
            Cells(LigneFeuille1, 1).EntireRow.Insert Shift:=xlDown
            Sheets("Fichier").Select
            Z = Z + 1 ' Permet copier les lignes sur la feuille 2, les une après les autres 
       End If
        
    Next
End Sub


Est ce que cela te parrait correcte?
 

leop93

XLDnaute Occasionnel
Re : Mettre en évidence des similitudes entre 2 colonnes Excel [VBA]

Re

C'est à dire que tu n'en as pas l'utilité je pense car je me servais du Z dans l'autre partie de mon code. Tu peux supprimer les lignes où les Z sont présents. ;)

Pour ton code, je regarde plus en profondeur demain. Je suis en train de faire mes manuels d'utilisation et administrateur, je me rend compte que c'est encore plus compliqué que le code pour penser à tout. Et ça prend un temps fou.

Bonne fin de journée

Leop93
 

leop93

XLDnaute Occasionnel
Re : Mettre en évidence des similitudes entre 2 colonnes Excel [VBA]

Bonjour

Ceci devrait suffire:

Code:
Sub CopierColler()
Dim i&
LigneFeuille1 = 2 'utile uniquement si tu as en ligne une les entêtes de chaque colonne
    Sheets("Fichier").Select
    
      For i = 0 To [Q65536].End(xlUp).Row ' Parcours de la colonne Q de la feuille 1
      
        If Range("Q" & i).Offset(i, 0).Value = "x" Then ' Test qui doit parcourir la colonne Q entièrement pour savoir si les valeurs des cellules sont équivalement à Q
          Range("Q" & i).Offset(i, 0).EntireRow.Copy ' Si c'est le cas je souhaite copier la ligne, de la colonne A à P vers le fichier 2
          Sheets("Filtre").Select
            Cells(LigneFeuille1, 1).EntireRow.Insert Shift:=xlDown
            Sheets("Fichier").Select
      End If
        
    Next
End Sub

Bonne journée

Leop93
 

MaximeC

XLDnaute Junior
Re : Mettre en évidence des similitudes entre 2 colonnes Excel [VBA]

Ok merci. C'est cela que j'avais mis hier, mais cela ne marchait pas .. :confused: mais j'ai reussi quand même à réaliser mon filtre, je peux t'envoyer ce que j'ai fait si tu veux !

D'autre part, sais tu comment faire pour figer un label, lorqu'on insere une ligne? je voudrais qu'il reste a la ligne 20001 même si on insert pa exemple une ligne entre la 18 et la 19 .
 

MaximeC

XLDnaute Junior
Re : Mettre en évidence des similitudes entre 2 colonnes Excel [VBA]

Un de mes collègue a su me répondre. Mon fichier étant terminé, voilà que cette conversation le devient également.

Au cas ou:

Code:
Private Sub CommandButton9_Click()
'Bouton de commande "Filtrer"

'Déclaration des variables
Dim i As Long
Dim j As Long
Dim plage As Range


Application.ScreenUpdating = False

'PROGRAMME réaliser par le bouton Filtre
j = 1
For i = 13 To [Q20000].End(xlUp).Row
    If Cells(i, 17).Value = "x" Then
        Set plage = Range("A" & i & ":P" & i)
        plage.Copy
        Sheets("Résultat").Select
        ActiveSheet.Cells(j, 1).Select
        ActiveSheet.Paste
        j = j + 1
    End If
Next i
 
Application.ScreenUpdating = True
End Sub


Merci encore, bonne journée

Maxime
 

Discussions similaires

Réponses
10
Affichages
316

Statistiques des forums

Discussions
314 633
Messages
2 111 418
Membres
111 127
dernier inscrit
flygreg