L'utilisation du "select case" évite de multiplier les conditions. Et il semble gérer l'alphabet.
Exemple d'utilisation :
Sub toto()
bil = "l"
Select Case bil
Case "a" To "c" MsgBox "est entre a et c" Case "l" MsgBox "c'est l"
End Select
End Sub
Bon courage,
Poulpor
Avec une variable nommée "toto"...
tablo = Array("A", "B", "C", "D") If IsNumeric(Application.Match(toto, tablo, 0)) Then .....
AV
FL
Merci AV et Poulpor pour vos réponses. Mais je souhaite utiliser le If et non le Select Case - Après le If je veux avoir la condition réalisée si toto est égal à A ou B ou C. sans avoir à écrire 3 fois toto. toto doit faire partie de la liste A, B, C pour que la condition soit réalisée. A, B, C étant du texte. Encore merci FL "Poulpor" a écrit dans le message de news:
Bonjour,
L'utilisation du "select case" évite de multiplier les conditions. Et il semble gérer l'alphabet.
Exemple d'utilisation :
Sub toto()
bil = "l"
Select Case bil
Case "a" To "c" MsgBox "est entre a et c" Case "l" MsgBox "c'est l"
End Select
End Sub
Bon courage,
Poulpor
Avec une variable nommée "toto"...
tablo = Array("A", "B", "C", "D") If IsNumeric(Application.Match(toto, tablo, 0)) Then .....
AV
Merci AV et Poulpor pour vos réponses.
Mais je souhaite utiliser le If et non le Select Case
- Après le If je veux avoir la condition réalisée si toto est égal à A ou B
ou C.
sans avoir à écrire 3 fois toto.
toto doit faire partie de la liste A, B, C pour que la condition soit
réalisée. A, B, C étant du texte.
Encore merci
FL
"Poulpor" <Poulpor@discussions.microsoft.com> a écrit dans le message de
news: 34B1247A-70F8-4E9B-AD6C-4514A3E8CF87@microsoft.com...
Bonjour,
L'utilisation du "select case" évite de multiplier les conditions. Et il
semble gérer l'alphabet.
Exemple d'utilisation :
Sub toto()
bil = "l"
Select Case bil
Case "a" To "c"
MsgBox "est entre a et c"
Case "l"
MsgBox "c'est l"
End Select
End Sub
Bon courage,
Poulpor
Avec une variable nommée "toto"...
tablo = Array("A", "B", "C", "D")
If IsNumeric(Application.Match(toto, tablo, 0)) Then .....
Merci AV et Poulpor pour vos réponses. Mais je souhaite utiliser le If et non le Select Case - Après le If je veux avoir la condition réalisée si toto est égal à A ou B ou C. sans avoir à écrire 3 fois toto. toto doit faire partie de la liste A, B, C pour que la condition soit réalisée. A, B, C étant du texte. Encore merci FL "Poulpor" a écrit dans le message de news:
Bonjour,
L'utilisation du "select case" évite de multiplier les conditions. Et il semble gérer l'alphabet.
Exemple d'utilisation :
Sub toto()
bil = "l"
Select Case bil
Case "a" To "c" MsgBox "est entre a et c" Case "l" MsgBox "c'est l"
End Select
End Sub
Bon courage,
Poulpor
Avec une variable nommée "toto"...
tablo = Array("A", "B", "C", "D") If IsNumeric(Application.Match(toto, tablo, 0)) Then .....
AV
lSteph
Bonjour,
If "ABCDEF" Like "*" & toto & "*" Then
Cordialement.
lSteph
"FL" a écrit dans le message de news: 44e58d1d$0$995$
Bonjour à tous, dans VBA, -au lieu de mettre if toto ="A" or toto = "B" or toto = "C" then ...
-je souhaiterai ne mettre qu'une seule fois toto if toto ... A ... B ... C ...then
Je ne sais pas quoi mettre en lieu et place des petits points. Pouvez-vous m'aider Merci. FL
Bonjour,
If "ABCDEF" Like "*" & toto & "*" Then
Cordialement.
lSteph
"FL" <nospam@nospam.fr> a écrit dans le message de news:
44e58d1d$0$995$ba4acef3@news.orange.fr...
Bonjour à tous,
dans VBA,
-au lieu de mettre
if toto ="A" or toto = "B" or toto = "C" then ...
-je souhaiterai ne mettre qu'une seule fois toto
if toto ... A ... B ... C ...then
Je ne sais pas quoi mettre en lieu et place des petits points. Pouvez-vous
m'aider
Merci.
FL
If Application.Match(toto, Array("A", "B", "C")) then ... Mais ne peut-on pas faire plus court ?
S'il s'agit simplement de la recherche des lettres A_B_...Z :
If toto Like "[A-Z]" Then ..........
Sinon il faudra passer par un Array pour des recherches de chaînes variées AV
FL
Merci Isteph pour ta réponse. En fait les valeurs A, B, C sont des exemples. mes valeurs en réalité sont D, E1, E2, E3, G If "DE1E2E3G" like "*"&toto&"*" Then fonctionne parfaitement. Une autre solution celle d'AV fonctionne parfaitement If Application.Match(toto, Array("D", "E1", "E2","E3","G") then ...
Apparemment il n'est pas possible de traduire en VBA ----toto fait-il partie de la liste (D,E1,E2,E3,G)---
Encore merci à tous Cordialement FL
"lSteph" a écrit dans le message de news: %
Bonjour,
If "ABCDEF" Like "*" & toto & "*" Then
Cordialement.
lSteph
"FL" a écrit dans le message de news: 44e58d1d$0$995$
Bonjour à tous, dans VBA, -au lieu de mettre if toto ="A" or toto = "B" or toto = "C" then ...
-je souhaiterai ne mettre qu'une seule fois toto if toto ... A ... B ... C ...then
Je ne sais pas quoi mettre en lieu et place des petits points. Pouvez-vous m'aider Merci. FL
Merci Isteph pour ta réponse.
En fait les valeurs A, B, C sont des exemples.
mes valeurs en réalité sont D, E1, E2, E3, G
If "DE1E2E3G" like "*"&toto&"*" Then fonctionne parfaitement.
Une autre solution celle d'AV fonctionne parfaitement
If Application.Match(toto, Array("D", "E1", "E2","E3","G") then ...
Apparemment il n'est pas possible de traduire en VBA
----toto fait-il partie de la liste (D,E1,E2,E3,G)---
Encore merci à tous
Cordialement
FL
"lSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
%23LRooXrwGHA.5044@TK2MSFTNGP05.phx.gbl...
Bonjour,
If "ABCDEF" Like "*" & toto & "*" Then
Cordialement.
lSteph
"FL" <nospam@nospam.fr> a écrit dans le message de news:
44e58d1d$0$995$ba4acef3@news.orange.fr...
Bonjour à tous,
dans VBA,
-au lieu de mettre
if toto ="A" or toto = "B" or toto = "C" then ...
-je souhaiterai ne mettre qu'une seule fois toto
if toto ... A ... B ... C ...then
Je ne sais pas quoi mettre en lieu et place des petits points.
Pouvez-vous m'aider
Merci.
FL
Merci Isteph pour ta réponse. En fait les valeurs A, B, C sont des exemples. mes valeurs en réalité sont D, E1, E2, E3, G If "DE1E2E3G" like "*"&toto&"*" Then fonctionne parfaitement. Une autre solution celle d'AV fonctionne parfaitement If Application.Match(toto, Array("D", "E1", "E2","E3","G") then ...
Apparemment il n'est pas possible de traduire en VBA ----toto fait-il partie de la liste (D,E1,E2,E3,G)---
Encore merci à tous Cordialement FL
"lSteph" a écrit dans le message de news: %
Bonjour,
If "ABCDEF" Like "*" & toto & "*" Then
Cordialement.
lSteph
"FL" a écrit dans le message de news: 44e58d1d$0$995$
Bonjour à tous, dans VBA, -au lieu de mettre if toto ="A" or toto = "B" or toto = "C" then ...
-je souhaiterai ne mettre qu'une seule fois toto if toto ... A ... B ... C ...then
Je ne sais pas quoi mettre en lieu et place des petits points. Pouvez-vous m'aider Merci. FL
lSteph
Si c'est possible! comme AV te l'a montré mais il faut définir d'abord l'Array et je comprends ce que tu veux dire, une forme de OU matriciel simplifierait parfois la vie mais comme dit PaulV faire systématiquement au plus court en VBA n'est pas toujours le mieux , à l'instar de ce qui se pourrait vouloir en terme de formulisme.
Par ailleurs si cela fonctionne ainsi (pour ce que j'ai proposé) c'est parceque cela s'y prette dans le cadre d'une chaine de caractères sans quoi le recours aux autres solutions proposées serait AMHA incontournable.
Cordialement.
lSteph "FL" a écrit dans le message de news: 44e5b8d5$0$855$
Merci Isteph pour ta réponse. En fait les valeurs A, B, C sont des exemples. mes valeurs en réalité sont D, E1, E2, E3, G If "DE1E2E3G" like "*"&toto&"*" Then fonctionne parfaitement. Une autre solution celle d'AV fonctionne parfaitement If Application.Match(toto, Array("D", "E1", "E2","E3","G") then ...
Apparemment il n'est pas possible de traduire en VBA ----toto fait-il partie de la liste (D,E1,E2,E3,G)---
Encore merci à tous Cordialement FL
"lSteph" a écrit dans le message de news: %
Bonjour,
If "ABCDEF" Like "*" & toto & "*" Then
Cordialement.
lSteph
"FL" a écrit dans le message de news: 44e58d1d$0$995$
Bonjour à tous, dans VBA, -au lieu de mettre if toto ="A" or toto = "B" or toto = "C" then ...
-je souhaiterai ne mettre qu'une seule fois toto if toto ... A ... B ... C ...then
Je ne sais pas quoi mettre en lieu et place des petits points. Pouvez-vous m'aider Merci. FL
Si c'est possible! comme AV te l'a montré mais il faut définir d'abord
l'Array
et je comprends ce que tu veux dire, une forme de OU matriciel simplifierait
parfois la vie mais comme dit PaulV faire systématiquement au plus court en
VBA
n'est pas toujours le mieux , à l'instar de ce qui se pourrait vouloir en
terme de formulisme.
Par ailleurs si cela fonctionne ainsi (pour ce que j'ai proposé) c'est
parceque cela s'y prette dans le cadre
d'une chaine de caractères sans quoi le recours aux autres solutions
proposées serait AMHA incontournable.
Cordialement.
lSteph
"FL" <nospam@nospam.fr> a écrit dans le message de news:
44e5b8d5$0$855$ba4acef3@news.orange.fr...
Merci Isteph pour ta réponse.
En fait les valeurs A, B, C sont des exemples.
mes valeurs en réalité sont D, E1, E2, E3, G
If "DE1E2E3G" like "*"&toto&"*" Then fonctionne parfaitement.
Une autre solution celle d'AV fonctionne parfaitement
If Application.Match(toto, Array("D", "E1", "E2","E3","G") then ...
Apparemment il n'est pas possible de traduire en VBA
----toto fait-il partie de la liste (D,E1,E2,E3,G)---
Encore merci à tous
Cordialement
FL
"lSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
%23LRooXrwGHA.5044@TK2MSFTNGP05.phx.gbl...
Bonjour,
If "ABCDEF" Like "*" & toto & "*" Then
Cordialement.
lSteph
"FL" <nospam@nospam.fr> a écrit dans le message de news:
44e58d1d$0$995$ba4acef3@news.orange.fr...
Bonjour à tous,
dans VBA,
-au lieu de mettre
if toto ="A" or toto = "B" or toto = "C" then ...
-je souhaiterai ne mettre qu'une seule fois toto
if toto ... A ... B ... C ...then
Je ne sais pas quoi mettre en lieu et place des petits points.
Pouvez-vous m'aider
Merci.
FL
Si c'est possible! comme AV te l'a montré mais il faut définir d'abord l'Array et je comprends ce que tu veux dire, une forme de OU matriciel simplifierait parfois la vie mais comme dit PaulV faire systématiquement au plus court en VBA n'est pas toujours le mieux , à l'instar de ce qui se pourrait vouloir en terme de formulisme.
Par ailleurs si cela fonctionne ainsi (pour ce que j'ai proposé) c'est parceque cela s'y prette dans le cadre d'une chaine de caractères sans quoi le recours aux autres solutions proposées serait AMHA incontournable.
Cordialement.
lSteph "FL" a écrit dans le message de news: 44e5b8d5$0$855$
Merci Isteph pour ta réponse. En fait les valeurs A, B, C sont des exemples. mes valeurs en réalité sont D, E1, E2, E3, G If "DE1E2E3G" like "*"&toto&"*" Then fonctionne parfaitement. Une autre solution celle d'AV fonctionne parfaitement If Application.Match(toto, Array("D", "E1", "E2","E3","G") then ...
Apparemment il n'est pas possible de traduire en VBA ----toto fait-il partie de la liste (D,E1,E2,E3,G)---
Encore merci à tous Cordialement FL
"lSteph" a écrit dans le message de news: %
Bonjour,
If "ABCDEF" Like "*" & toto & "*" Then
Cordialement.
lSteph
"FL" a écrit dans le message de news: 44e58d1d$0$995$
Bonjour à tous, dans VBA, -au lieu de mettre if toto ="A" or toto = "B" or toto = "C" then ...
-je souhaiterai ne mettre qu'une seule fois toto if toto ... A ... B ... C ...then
Je ne sais pas quoi mettre en lieu et place des petits points. Pouvez-vous m'aider Merci. FL
FL
Merci ISteph, AV, PaulV et Poulpor Bonne journée à vous tous.
FL "lSteph" a écrit dans le message de news:
Si c'est possible! comme AV te l'a montré mais il faut définir d'abord l'Array et je comprends ce que tu veux dire, une forme de OU matriciel simplifierait parfois la vie mais comme dit PaulV faire systématiquement au plus court en VBA n'est pas toujours le mieux , à l'instar de ce qui se pourrait vouloir en terme de formulisme.
Par ailleurs si cela fonctionne ainsi (pour ce que j'ai proposé) c'est parceque cela s'y prette dans le cadre d'une chaine de caractères sans quoi le recours aux autres solutions proposées serait AMHA incontournable.
Cordialement.
lSteph "FL" a écrit dans le message de news: 44e5b8d5$0$855$
Merci Isteph pour ta réponse. En fait les valeurs A, B, C sont des exemples. mes valeurs en réalité sont D, E1, E2, E3, G If "DE1E2E3G" like "*"&toto&"*" Then fonctionne parfaitement. Une autre solution celle d'AV fonctionne parfaitement If Application.Match(toto, Array("D", "E1", "E2","E3","G") then ...
Apparemment il n'est pas possible de traduire en VBA ----toto fait-il partie de la liste (D,E1,E2,E3,G)---
Encore merci à tous Cordialement FL
"lSteph" a écrit dans le message de news: %
Bonjour,
If "ABCDEF" Like "*" & toto & "*" Then
Cordialement.
lSteph
"FL" a écrit dans le message de news: 44e58d1d$0$995$
Bonjour à tous, dans VBA, -au lieu de mettre if toto ="A" or toto = "B" or toto = "C" then ...
-je souhaiterai ne mettre qu'une seule fois toto if toto ... A ... B ... C ...then
Je ne sais pas quoi mettre en lieu et place des petits points. Pouvez-vous m'aider Merci. FL
Merci ISteph, AV, PaulV et Poulpor
Bonne journée à vous tous.
FL
"lSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
eSIBOdswGHA.4512@TK2MSFTNGP05.phx.gbl...
Si c'est possible! comme AV te l'a montré mais il faut définir d'abord
l'Array
et je comprends ce que tu veux dire, une forme de OU matriciel
simplifierait
parfois la vie mais comme dit PaulV faire systématiquement au plus court
en VBA
n'est pas toujours le mieux , à l'instar de ce qui se pourrait vouloir en
terme de formulisme.
Par ailleurs si cela fonctionne ainsi (pour ce que j'ai proposé) c'est
parceque cela s'y prette dans le cadre
d'une chaine de caractères sans quoi le recours aux autres solutions
proposées serait AMHA incontournable.
Cordialement.
lSteph
"FL" <nospam@nospam.fr> a écrit dans le message de news:
44e5b8d5$0$855$ba4acef3@news.orange.fr...
Merci Isteph pour ta réponse.
En fait les valeurs A, B, C sont des exemples.
mes valeurs en réalité sont D, E1, E2, E3, G
If "DE1E2E3G" like "*"&toto&"*" Then fonctionne parfaitement.
Une autre solution celle d'AV fonctionne parfaitement
If Application.Match(toto, Array("D", "E1", "E2","E3","G") then ...
Apparemment il n'est pas possible de traduire en VBA
----toto fait-il partie de la liste (D,E1,E2,E3,G)---
Encore merci à tous
Cordialement
FL
"lSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
%23LRooXrwGHA.5044@TK2MSFTNGP05.phx.gbl...
Bonjour,
If "ABCDEF" Like "*" & toto & "*" Then
Cordialement.
lSteph
"FL" <nospam@nospam.fr> a écrit dans le message de news:
44e58d1d$0$995$ba4acef3@news.orange.fr...
Bonjour à tous,
dans VBA,
-au lieu de mettre
if toto ="A" or toto = "B" or toto = "C" then ...
-je souhaiterai ne mettre qu'une seule fois toto
if toto ... A ... B ... C ...then
Je ne sais pas quoi mettre en lieu et place des petits points.
Pouvez-vous m'aider
Merci.
FL
Merci ISteph, AV, PaulV et Poulpor Bonne journée à vous tous.
FL "lSteph" a écrit dans le message de news:
Si c'est possible! comme AV te l'a montré mais il faut définir d'abord l'Array et je comprends ce que tu veux dire, une forme de OU matriciel simplifierait parfois la vie mais comme dit PaulV faire systématiquement au plus court en VBA n'est pas toujours le mieux , à l'instar de ce qui se pourrait vouloir en terme de formulisme.
Par ailleurs si cela fonctionne ainsi (pour ce que j'ai proposé) c'est parceque cela s'y prette dans le cadre d'une chaine de caractères sans quoi le recours aux autres solutions proposées serait AMHA incontournable.
Cordialement.
lSteph "FL" a écrit dans le message de news: 44e5b8d5$0$855$
Merci Isteph pour ta réponse. En fait les valeurs A, B, C sont des exemples. mes valeurs en réalité sont D, E1, E2, E3, G If "DE1E2E3G" like "*"&toto&"*" Then fonctionne parfaitement. Une autre solution celle d'AV fonctionne parfaitement If Application.Match(toto, Array("D", "E1", "E2","E3","G") then ...
Apparemment il n'est pas possible de traduire en VBA ----toto fait-il partie de la liste (D,E1,E2,E3,G)---
Encore merci à tous Cordialement FL
"lSteph" a écrit dans le message de news: %
Bonjour,
If "ABCDEF" Like "*" & toto & "*" Then
Cordialement.
lSteph
"FL" a écrit dans le message de news: 44e58d1d$0$995$
Bonjour à tous, dans VBA, -au lieu de mettre if toto ="A" or toto = "B" or toto = "C" then ...
-je souhaiterai ne mettre qu'une seule fois toto if toto ... A ... B ... C ...then
Je ne sais pas quoi mettre en lieu et place des petits points. Pouvez-vous m'aider Merci. FL