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 :

Utilisation de IF dans ma procédure


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2012
    Messages : 143
    Par défaut Utilisation de IF dans ma procédure
    Bonjour à tous,
    Aprés avoir profité du concours de Jérôme qui m'a gentillement renseigné ici sur la méthode FIND, j'ai une autre petite question à soumettre à ceux qui auront la gentillesse de m'éclairer.

    J'ai écris ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub DPXT1()
    'Cherche la cellule où se trouve la référence
    Sheets("ListeDPX1").Select
        Cells.Find(What:=SuppressionAgent.Label5, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
            xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
            False, SearchFormat:=False).Activate
    'Efface le contenu de la ligne où se trouve la cellule précédament cherchée
    ActiveCell.EntireRow.ClearContents
    End Sub
    Je cherche donc dans un premier temps à chercher la valeur écrite dans Label5 et ça marche très bien.
    Dans un second temps j'effface toutes les valeurs écrite dans la ligne ou se trouve la cellule ainsi trouvée.
    Mon soucis c'est que si la valeur cherchée n'est pas dans cette feuille, je veux passer à la feuille suivant pour chercher la mêmle chose et je ne sais pas comment formuler la condition IF

    je pars sur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If.........
    ActiveCell.EntireRow.ClearContents
    Unload ConfirSup
    Unload SuppressionAgent
    Else
    DPXT2
    End If
    Donc si la valeur est trouvée dans la feuille, j'efface les valeurs de la ligne où elle se trouve et je ferme mes deux userforms.
    Et si la valeur n'est pas trouvée, je lance la seconde macro (DPXT2) qui fera la même chose dans la feuille suivante, etc...

    Mon soucis c'est que je ne sais pas quoi mettre aprés le IF;
    En clair, quoi mettre à la place des pointillés
    Je ne sais pas formuler IF "ma valeur et trouvé"

    Quelqu'un peut-il m'aider svp?
    En remerciant pas avance ceux qui se pencherons sur mon probleme.
    Laurent

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Une seule procédure est nécessaire si tu veux passer en revue les différentes feuilles à la recherche de ta référence :
    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
     
    Sub DPXT1()
     
        Dim Fe As Worksheet
        Dim Cel As Range
     
        For Each Fe In Worksheets
     
            'attention, "xlPart" chercher seulement une partie de la référence
            'j'utiliserai plutôt "xlWhole" mais bon, à voir
            Set Cel = Fe.Cells.Find(SuppressionAgent.Label5, , xlValues, xlPart)
     
            'si trouvée, efface, ferme les Form et fin
            If Not Cel Is Nothing Then
     
                Cel.EntireRow.ClearContents
     
                'pour contrôle, à supprimer
                MsgBox "La référence a été trouvée dans la feuille " & Fe.Name
     
                'ferme les Form
                Unload ConfirSup
                Unload SuppressionAgent
     
                Exit Sub
     
            End If
     
        Next Fe
     
    End Sub
    Hervé.

Discussions similaires

  1. Utilisation de Optional dans une procédure
    Par Gabout dans le forum IHM
    Réponses: 5
    Dernier message: 13/03/2013, 15h43
  2. [AC-2007] Utilisation des tempvar dans une procédure VBA
    Par dumas.blr dans le forum VBA Access
    Réponses: 4
    Dernier message: 14/02/2011, 13h22
  3. Réponses: 1
    Dernier message: 12/12/2007, 13h46
  4. Réponses: 6
    Dernier message: 05/04/2007, 13h35
  5. [delphi 5,6,7] utiliser un objet dans une procédure
    Par wizdom dans le forum Langage
    Réponses: 3
    Dernier message: 27/01/2006, 15h38

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