[VBA] Appeler une zone de cellules qui n'existe pas sans créer u ne
1 réponse
JCF
Bonsoir à tous!
J'ai une macro susceptible de tourner sur toutes sortes de classeurs. L'une
des instructions recherche si dans le classeur se trouverait une cellule
nommée "SWCC", et si oui, quelle est sa valeur.
J'ai donc pour l'instant au milieu de ma macro les instructions suivantes:
--------------
[…]
On Error Resume Next
If Not IsEmpty(Range("SWCC").Value) Then SWC=Range("SWCC").Value
[…]
--------------
Le problème que je rencontre, c'est qu'à forte dose, le On Error Resume Next
génère des bugs.
Et je suis obligé de le mettre car s'il n'existe pas de cellule nommée SWCC
dans le classeur, ça génère une erreur.
Je cherche donc une syntaxe pour remplacer le 'On Error Resume Next' qui
serait capable de dire:
" If la zone "SWCC" n'existe pas, then ... ".
J'ai déjà essayé plusieurs trucs mais là je commence à manquer
d'inspiration...
Si l'un de vous a une idée, je suis preneur!
Merci d'avance pour vos suggestions,
Jean-Christophe
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour JCF,
N'ayant pas vu ton code, cela limite les suggestions...
Il y a ceci :
For each N in ThisWorkbook.Names if N.name = "SWCC" 'Si le nom de la plage existe, exécution du code 'To code Exit for ' après l'exécution de ton code, il n'est plus nécessaire de continuer la boucle.
end if Next
Salutations!
"JCF" a écrit dans le message de news: Bonsoir à tous! J'ai une macro susceptible de tourner sur toutes sortes de classeurs. L'une des instructions recherche si dans le classeur se trouverait une cellule nommée "SWCC", et si oui, quelle est sa valeur.
J'ai donc pour l'instant au milieu de ma macro les instructions suivantes: -------------- [.] On Error Resume Next If Not IsEmpty(Range("SWCC").Value) Then SWC=Range("SWCC").Value [.] -------------- Le problème que je rencontre, c'est qu'à forte dose, le On Error Resume Next génère des bugs. Et je suis obligé de le mettre car s'il n'existe pas de cellule nommée SWCC dans le classeur, ça génère une erreur. Je cherche donc une syntaxe pour remplacer le 'On Error Resume Next' qui serait capable de dire: " If la zone "SWCC" n'existe pas, then ... ". J'ai déjà essayé plusieurs trucs mais là je commence à manquer d'inspiration... Si l'un de vous a une idée, je suis preneur! Merci d'avance pour vos suggestions, Jean-Christophe
Bonjour JCF,
N'ayant pas vu ton code, cela limite les suggestions...
Il y a ceci :
For each N in ThisWorkbook.Names
if N.name = "SWCC"
'Si le nom de la plage existe, exécution du code
'To code
Exit for ' après l'exécution de ton code, il n'est plus nécessaire de continuer la boucle.
end if
Next
Salutations!
"JCF" <jcfenlevezceci@mac-fan.com> a écrit dans le message de news:EC000557-8AF9-4280-87C1-AF597072D4FB@microsoft.com...
Bonsoir à tous!
J'ai une macro susceptible de tourner sur toutes sortes de classeurs. L'une
des instructions recherche si dans le classeur se trouverait une cellule
nommée "SWCC", et si oui, quelle est sa valeur.
J'ai donc pour l'instant au milieu de ma macro les instructions suivantes:
--------------
[.]
On Error Resume Next
If Not IsEmpty(Range("SWCC").Value) Then SWC=Range("SWCC").Value
[.]
--------------
Le problème que je rencontre, c'est qu'à forte dose, le On Error Resume Next
génère des bugs.
Et je suis obligé de le mettre car s'il n'existe pas de cellule nommée SWCC
dans le classeur, ça génère une erreur.
Je cherche donc une syntaxe pour remplacer le 'On Error Resume Next' qui
serait capable de dire:
" If la zone "SWCC" n'existe pas, then ... ".
J'ai déjà essayé plusieurs trucs mais là je commence à manquer
d'inspiration...
Si l'un de vous a une idée, je suis preneur!
Merci d'avance pour vos suggestions,
Jean-Christophe
N'ayant pas vu ton code, cela limite les suggestions...
Il y a ceci :
For each N in ThisWorkbook.Names if N.name = "SWCC" 'Si le nom de la plage existe, exécution du code 'To code Exit for ' après l'exécution de ton code, il n'est plus nécessaire de continuer la boucle.
end if Next
Salutations!
"JCF" a écrit dans le message de news: Bonsoir à tous! J'ai une macro susceptible de tourner sur toutes sortes de classeurs. L'une des instructions recherche si dans le classeur se trouverait une cellule nommée "SWCC", et si oui, quelle est sa valeur.
J'ai donc pour l'instant au milieu de ma macro les instructions suivantes: -------------- [.] On Error Resume Next If Not IsEmpty(Range("SWCC").Value) Then SWC=Range("SWCC").Value [.] -------------- Le problème que je rencontre, c'est qu'à forte dose, le On Error Resume Next génère des bugs. Et je suis obligé de le mettre car s'il n'existe pas de cellule nommée SWCC dans le classeur, ça génère une erreur. Je cherche donc une syntaxe pour remplacer le 'On Error Resume Next' qui serait capable de dire: " If la zone "SWCC" n'existe pas, then ... ". J'ai déjà essayé plusieurs trucs mais là je commence à manquer d'inspiration... Si l'un de vous a une idée, je suis preneur! Merci d'avance pour vos suggestions, Jean-Christophe