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 :

Condition if en vba


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2011
    Messages : 31
    Par défaut Condition if en vba
    bonjour,

    j'ai une colonne sur mon fichier qui contient plusieurs donnée:
    ex: colonne1: uib/erc/a/b
    colonne2: iu/erc/t/

    je veux faire une condtion if sur cette colonne pour recupérer juste les ligne qui contient "erc".


    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     fin = Feuil3.Range("A" & Rows.Count).End(xlUp).Row
    aa = Feuil3.Range("A2:B" & fin)
     
    For i = 1 To UBound(aa)
     
    If aa(i, 4) = "*erc*" Then  
     
    end if

    Merci d'avance

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour aminee1666,

    Voici un code qui te permettra d’effectuer la recherche de la chaine de caractères « erc » dans la plage comprenant les colonnes A et B.
    A adapter si besoin.

    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 Test()
    Dim DerLig As Long
    Dim MaPlage As Range
     
    With Worksheets("Feuil3")
        DerLig = .Range("A" & .Rows.Count).End(xlUp).Row
        Set MaPlage = .Range("A1:B" & DerLig)
        Set c = MaPlage.Find("*erc*", LookIn:=xlValues)
        If Not c Is Nothing Then
            firstAddress = c.Address
            Do
                MsgBox "La chaine de caractère" & """erc""" & "a été trouvée en ligne " & c.Row & " ; colonne " & c.Column
                Set c = MaPlage.FindNext(c)
            Loop While Not c Is Nothing And c.Address <> firstAddress
        End If
        Set c = Nothing
    End With
    End Sub
    Cordialement.

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 40
    Par défaut
    bonjour,
    je voulais savoir, si possible de faire une petite modificaion sur l'instruction if,
    pour me filtrer juste les lignes ou il y a "erc"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If aa(i, 4) = "*erc*" Then
    Merci d'avance

  4. #4
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Re-bonjour aminee1666,

    Autre solution en conservant le test sur aa

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    fin = Sheets("Feuil3").Range("A" & Rows.Count).End(xlUp).Row
    aa = Sheets("Feuil3").Range("A2:B" & fin)
     
    For i = 1 To UBound(aa)
        If InStr(1, aa(i, 1), "erc", vbTextCompare) <> 0 Then MsgBox "Trouvé à la ligne " & i & "; colonne 1"
        If InStr(1, aa(i, 2), "erc", vbTextCompare) <> 0 Then MsgBox "Trouvé à la ligne " & i & "; colonne 2"
    Next
    Cordialement

  5. #5
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 124
    Par défaut
    Salut
    Citation Envoyé par Maxim0 Voir le message
    bonjour,
    je voulais savoir, si possible de faire une petite modificaion sur l'instruction if,
    pour me filtrer juste les lignes ou il y a "erc"

    If aa(i, 4) = "*erc*" Then

    Merci d'avance
    Regarde du coté de Like (un petit coup de F1).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If aa(i, 4) Like "*erc*" Then
    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

Discussions similaires

  1. Condition IF sur VBA
    Par lanaine07 dans le forum VBA Access
    Réponses: 1
    Dernier message: 06/07/2011, 11h36
  2. Conditions UserForm sur VBA Excel
    Par fny_bnfnt dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/12/2010, 13h52
  3. condition ou en vba
    Par arctica dans le forum Excel
    Réponses: 2
    Dernier message: 05/05/2010, 18h13
  4. Modifier une condition Where par VBA
    Par totojordi dans le forum VBA Access
    Réponses: 12
    Dernier message: 02/07/2008, 08h50
  5. Condition Iif en vba
    Par popofpopof dans le forum Access
    Réponses: 2
    Dernier message: 21/08/2007, 14h21

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