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 :

[VBA-EXCEL]-condition pour ouvrir une msgbox


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 138
    Points : 72
    Points
    72
    Par défaut [VBA-EXCEL]-condition pour ouvrir une msgbox
    je n'arrive pas à appliquer une condition à l'ouverture de la msgbox!
    Dans le code suivant s il n y a pas de doublons, je voudrai que la msgbox ne s ouvre pas
    merci d'avance


    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    Option Explicit
    Option Base 1
     
    Sub listeDoublons()
        Dim Plage As Range
        Dim Tableau(), Resultat() As String
        Dim i As Integer, j As Integer, m As Integer
        Dim Un As Collection
        Dim Doublons As String
     
        Set Un = New Collection
        'La plage de cellules à tester
        Set Plage = Range("A1:A" & Range("A65536").End(xlUp).Row)
     
        Tableau = Plage.Value
        ReDim Preserve Resultat(2, 1)
     
        On Error Resume Next
        'boucle sur la plage à tester
        For i = 1 To Plage.Count
            'Utilise une collection pour rechercher les doublons
            '(les collections n'acceptent que des données uniques)
            Un.Add Tableau(i, 1), Tableau(i, 1)
     
            'S'il y a une erreur (donc presence d'un doublon)
            If Err <> 0 Then
     
                'boucle sur le tableau des doublons pour verifier s'il a deja
                'été identifié
                For j = 1 To m + 1
                    'Si oui , on  incrément le compteur
                    If Resultat(1, j) = Tableau(i, 1) Then
                        Resultat(2, j) = Resultat(2, j) + 1
                        Err.Clear
                        Exit For
                    End If
                Next j
     
                    'Si non, on ajoute le doublon dans le tableau
                    If Err <> 0 Then
                        Resultat(1, m + 1) = Tableau(i, 1)
                        Resultat(2, m + 1) = 1
     
                        m = m + 1
                        Err.Clear
                        ReDim Preserve Resultat(2, m + 1)
                    End If
            End If
        Next i
     
        '----- Affiche la liste et le nombre de doublons --------
        For j = 1 To m
            Doublons = Doublons & Resultat(1, j) & "-->" & _
                        Resultat(2, j) & vbCrLf
        Next j
     
        MsgBox Doublons
    End Sub

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonsoir

    tu peux faire un essai en ajoutant cette ligne

    dans la procedure

    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
    Sub listeDoublons()
    '
    '
    '....
    '
    '
     
        If m = 0 Then Exit Sub
     
     
        '----- Affiche la liste et le nombre de doublons --------
        For j = 1 To m
            Doublons = Doublons & Resultat(1, j) & "-->" & _
                        Resultat(2, j) & vbCrLf
        Next j
     
        MsgBox Doublons
    End Sub

    michel

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 138
    Points : 72
    Points
    72
    Par défaut
    parfait merci michel

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

Discussions similaires

  1. [PPT-2013] Bouton avec macro pour ouvrir une feuille Excel PowerPoint 2013
    Par gdmeunier dans le forum Powerpoint
    Réponses: 0
    Dernier message: 27/10/2014, 13h10
  2. Powerpoint 2003 - Ouvrir une MsgBox à partir d'Excel
    Par Daejung dans le forum VBA PowerPoint
    Réponses: 2
    Dernier message: 29/11/2008, 15h12
  3. [VBA Excel] Userform pour supprimer une ligne précise
    Par Viper7 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/06/2006, 14h32
  4. [VBA-E] controle pour afficher une feuille excel
    Par SpaceFrog dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 08/02/2006, 11h17
  5. [VBA-Excel]Problème pour remplir une listview
    Par Le Djé dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/01/2006, 16h27

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