Comparaison de deux colonnes (macro)

Résolu
Bonjour,

Je voudrai comparer 2 colonnes de deux feuilles différentes :

J'aimerai que ma macro me dise :

En prenant Chaque valeur de la colonne A de la feuille "Extrac" ,

je veux savoir si la valeur de la cellule concernée et présente dans la colonne A de la feuille "Dou"

Si elle y est, la macro continue normalement,
Si elle n'y est pas j'aimerai qu'elle affiche une msgbox me disant que cette valeur et manquante.

Et je voudrai que cette macro s'effectue bien sur toute mes cellules "remplies" en feuille "Extrac"

J'étais partie sur un Do While Loop,
Mais la macro s'arrête à la première ligne :s

Merci d'avance pour vos réponses !

4 réponses

  1. Contributeur
    Bonjour,

    peux-tu poser ton classeur sur cijoint.fr et copier le lien proposé dans une réponse ? Que l'on voit ton code, sur quoi il s'exécute et qu'est-ce qui ne va pas.

    Cordialement.
    0
    1. En faite j'étais partie sur une macro déjà existante de mon classeur,

      celle ci

      Sub ManquantTotal()
      
      Dim ean1 As String
      Dim Erreur As Boolean 'vrai ou faux
      Dim DEJA_PRESENT As Boolean 'vrai ou faux: S'il est deja dans la liste on fait quantité = quantité + 1, sinon on lance Comparaison
      Dim Quantité As Byte   'en espérant qu'il n'y ait pas plus de 255 références sur une palette !!!! ;)
      Dim Différence As Integer 'Différence entre le nbre de pdt attendu et le nbr de pdt présent
      Dim Nombre As Integer  'insertion d'une fonction pour
      'éviter l'erreur du fait que les ean sont stockés sous forme de texte et non de nombre
      Dim ligne2 As Integer 'Ligne feuille de contrôle
      Dim ligne3 As Integer 'ligne pour feuille extraction
      Dim ligne_extraction As Long
      Dim NombreErreur As Byte 'En espérant qu'il n'y ait pas plus de 255 erreurs ??!!! :OO
      Dim Total As Integer 'Colis total
      Dim ligne As Byte
      
              ligne = 2
              
              Total = 0
              ligne2 = 10
              NombreErreur = 0
              ligne_extraction = 2
              
              ean1 = Sheets("Extraction cia flu").Cells(ligne, 1).Value
              'Sheets("Extraction cia flu").Cells(ligne_extraction, 1).Select
              DEJA_PRESENT = False
              
             
                  Do While (ligne_extraction < ligne)
                      Sheets("Douchette").Cells(ligne_extraction, 1).Select
                      If (ActiveCell.Value = ean1) Then
                          DEJA_PRESENT = True
                          ligne_extraction = ligne_extraction + 1
                      End If
                      
                  ligne_extraction = ligne_extraction + 1
                  
                  Loop
                  
                  
                  
                  If (DEJA_PRESENT) Then
                
      
                  Else:
      
              MsgBox (" Produit Manquant : " & vbCrLf & vbTab & ean1 & vbCrLf & "!!!")
      
                  End If
                  
                  
      
      
      End Sub


      Etant débutante en vba, j'ai peut etre fait une enorme ereur hein ^^'

      Voilà, en faite ma macro ne passe pas à la ligne d'après .. :s
      0
      1. Contributeur
        Je m'étonne déjà que cela fasse le premier traitement car tu teste si ligne_extraction est inférieure à ligne. Or au début ligne_extraction est égal à ligne !!
        0
      2. Ouais mais même en modifiant les ligne (j'ai testé ^^ c'pour ça que c'est sur é là :p) ça reste à la première et ca boucle pas donc bon,

        J'ai fait une méga erreur quelque part et je trouve pas ^^'
        0
    2. JE ne sais pas si il y a une préférence pour l'utilisation des boucles,

      J'ai vu des milliers de codes différents pour faire la même,

      je m'y perds ^^'
      0
      1. PArfait j'ai réussi ^^
        0