Problème de boucle If

Signaler
Messages postés
22
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
26 septembre 2008
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
Bonjour je suis en train de fair la boucle suivante:

If Selection = "" Then
       
        ElseIf Selection <> "" Then
        Selection.Copy
End If

Et après le 1er Then je voudrai dire de faire l'action "rien faire"
Est ce possible??

Ledaf

7 réponses

Messages postés
197
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
13 mai 2009

Il suffit que tu inverse par exemple
if selection <> "" then Selection.copy

et forcément si c'est egal il ne fera rien ^^

MerZi ... Zi ... Zi ... PtitCat   
                                 P.S:DSL pour l'orthographe
Messages postés
132
Date d'inscription
mercredi 18 février 2004
Statut
Membre
Dernière intervention
1 septembre 2014

Pour infos, l'instruction 'IF' n'est pas une Boucle, c'est une condition.

<hr />
Aller voir ces sites
http://www.pape-bleu.net
 
 ou http://www.papebleu.net.
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
53
Salut,
En complément je dirais qu'on préférera utiliser VbNullString à la place de "".

Sinon je rejoints [auteur/VBPTITCAT/1075109.aspx VB_PtitCat],et [auteur/PAPE0/233029.aspx pape0] dans leur commentaire

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
181
Date d'inscription
jeudi 30 mai 2002
Statut
Membre
Dernière intervention
19 août 2012

Et pour info, il me semble avoir déjà lu quelque part sur ce site qu'il valait mieux ne pas utiliser l'instruction 'ElseIf'.

titicar
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Salut Titicar,

D'après moi l'instruction ElseIf a sa place dans plusieurs cas.
L'important, c'est le nombre de IF / ElseIf versus la lisibilité du code.
On pourrait préférer un Select Case qui est beaucoup plus lisible.

Et j'abonde dans le sens de toutes les réponses données.

MPi²
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut
Après traduction, tu voudrais faire la 'Copy' lorsqu'il y a quelque chose dans la Selection.
Ceci suffit amplement, pourquoi vouloir raisonner à l'envers ?

   If Selection <> vbNullString Then
           Selection.Copy
   End If

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Oups, je n'avais pas vu que VB_PtitCat avait déjà proposé cette simplification.