IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

comparaison colonnes VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 61
    Par défaut comparaison colonnes VBA
    Bonjour Tout le monde,

    Voila mon problème, j'aimerais comparer 2 colonnes excel de type string en VBA pour me faciliter la tâche au travail.

    J'ai réalisé le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Sub tri()
    Dim compar As Boolean
    For i = 1 To 300
     
                j = 1
     
                Do While Range("A" & i).Value <> Range("E" & j).Value And i <= 300
                    test = False
                    j = j + 1
     
                        If Range("A" & i).Value = Range("E" & j).Value Then
                            compar = True
                            Range("H" & i).Value = "ok"
                        Else
                            Range("H" & i).Value = "Introuvable"
                        End If
     
                Loop
     
        Next
     
     
    End Sub


    Si le champ de ma colonne "A" d'indice I est introuvable, le code s'arrête et ne passe pas à l'indice supérieur. Comment faire? Quelqu'un peut-il m'aider ?

    En vous remerciant par avance,

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonsoir,

    Essaie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Sub tri()
    For i = 1 To cells(Rows.Count, 1).End(xlUp).Row
     
                j = 1
     
                For j = 1 To cells(Rows.Count, 5).End(xlUp).Row
     
                        If Range("A" & i).Value = Range("E" & j).Value Then
                            Range("H" & i).Value = "ok"
                            Exit For
                        Else
                            Range("H" & i).Value = "Introuvable"
                        End If
     
                Next
     
        Next
     
     
    End Sub

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 61
    Par défaut
    Bonsoir,

    J'ai remplacé mon indice de ma boucle DO "i<=300" par "j<=300", ce qui paraît plus logique ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Sub tri()
    Dim test As Boolean
    For i = 1 To 300
                
                j = 1
                
                Do While Range("A" & i).Value <> Range("E" & j).Value And j <= 300
                    test = False
                    j = j + 1
                    
                        If Range("A" & i).Value = Range("E" & j).Value Then
                            test = True
                            Range("H" & i).Value = "ok"
                        Else
                            Range("H" & i).Value = "Introuvable"
                        End If
                        
                Loop
                    
        Next
    
    
    End Sub
    Ca fonctionne mais peut être qu'il y aurait mieux à faire. Je vais essayer ta proposition.

    Merci pour ta réponse,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Somme colonne VBA sans boucle
    Par sissi00000 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/07/2008, 10h44
  2. comparaison colonnes de 2 feuilles excel
    Par lolove94 dans le forum Macros et VBA Excel
    Réponses: 22
    Dernier message: 10/03/2008, 09h42
  3. Afficher/masquer des colonnes : VBA vs Claire
    Par mouaa dans le forum VBA Access
    Réponses: 4
    Dernier message: 20/08/2007, 09h11
  4. VBA-E comparaison colonnes
    Par bernard38 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 12/10/2006, 11h18
  5. [Excel] comparaison colonnes
    Par ostro dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/02/2006, 12h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo