Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA - notion de variables et leur emplacement

  • Initiateur de la discussion Initiateur de la discussion Hub
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Hub

XLDnaute Occasionnel
Bonjour,

Vous trouverez en pièces jointes deux fichiers très similaires.
La différence se trouve dans l’utilisation des variables et leur emplacement concernant le test If.

La formule qui fonctionne dans "Essai macro evenementielle5 Ok"
« If IsNumeric(Range("C3") ) = True Then »

La formule qui ne fonctionne pas dans "Essai macro evenementielle6 No"
« alesage = Range("C3") »
« If IsNumeric(alesage) = True Then »

est il possible de modifier le fichier « Essai macro evenementielle6 No » de façon de pouvoir utiliser la variable « alesage » dans le Test If ?

Merci d’avance pour vos réponses,
@+
 

Pièces jointes

Re : VBA - notion de variables et leur emplacement

Bonjour Hub.


Vous déclarez alesage As Integer. Par conséquent, alesage = Range("C3") (qui signifie alesage = Range("C3").Value) renvoie une erreur si le contenu de C3 ne peut s'interpréter comme une valeur numérique.

Dans Essai macro evenementielle5 Ok, pas de problème parce que vous écrivez alesage = Range("C3") après avoir vérifié que le contenu de C3 est numérique.

Dans Essai macro evenementielle6 No, ça coince parce que vous écrivez alesage = Range("C3") sans avoir préalablement vérifié que le contenu de C3 est numérique.

Remède possible : déclarer alesage As Variant ; ainsi alesage = Range("C3") passera même si le contenu de C3 ne peut s'interpréter comme une valeur numérique.


Bonne journée.


ℝOGER2327
#8214


Vendredi 6 Pédale 143 (Vers Belges - fête Suprême Quarte)
10 Ventôse An CCXXIV, 4,2030h - bêche
2016-W09-1T10:05:14Z
 
Re : VBA - notion de variables et leur emplacement

Bonjour Hub,
Peut être

Sub Essai_1() 'cette macro est lié avec la macro "Private Sub Worksheet_Calculate()" de la feuille 3
Application.EnableEvents = False
Sheets("Feuil3").Select
'attribution d'une valeur aux variables
'alesage = Range("C3")
'tige = Range("C4")
If IsNumeric([C3]) = True Then

'déclaration des variables
'Dim alesage As Integer, tige As Integer

'attribution d'une valeur aux variables
alesage = Range("C3")
tige = Range("C4")

et la suite

Bruno
 
Re : VBA - notion de variables et leur emplacement

Merci pour vos réponses,

Remplacer Integer par Variant, c'est une solution à laquelle je n'aurais jamais pensé, je "fixais" sur un problème d'emplacement.

Maintenant ça fonctionne et encore merci

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
475
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…