Problème de variable

  • Initiateur de la discussion Initiateur de la discussion NicoLeDebutant
  • 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 !

N

NicoLeDebutant

Guest
Bonjour,

Je me permets de vous poser la question suivante :
J'ai un classeur contenant 5 feuilles.
Je souhaite utiliser une variable "nommée" comptgeneral dans 2 feuilles.
J'ai fait la déclaration en Public de la variable dans une des feuilles.
Les macro des feuilles sont lancés depuis ThisWorkbook, jusqu'a là tout va bien.
Cependant j'ai un renvoi d'erreur 400 si cette variable est intialisée dans une autre macro que celle "courante".

Comment je peux faire pour régler ce soucis sachant cette déclaration public et l'échec de faire passer la valeur en parametre (ex:sub toto(comptgeneral) qui renvoie une erreur "argument non facultatif")?

En vous remerciant par avance!

Nicolas
 
Re : Problème de variable

Bonjour,

attention, il ne faut pas confondre les variables avec les arguments de procédure (ou fonction VBA).
Un exemple vaut mieux qu'un long discours:

Sub titi

comptgeneral = "general"
Call toto(comptgeneral)
End Sub

sub toto(comptgeneral)
msgbox comptgeneral
End Sub
Les macro des feuilles sont lancés depuis ThisWorkbook
Je te conseille dans ce cas de déplacer les macros dans un module.
 
Re : Problème de variable

Merci pour ta réponse skoobi 🙂

Qu'entend tu par les macros ds un module? (dans une seule feuille)?
En faite si j'ai mis ici une macro par feuille c'est que je dois écrire dans la feuille à chaque fois donc je ne vois pas très bien comment contourner le soucis. 🙁

Et pour les procédures je pige l'idée mais je vois pas bien comment adapter à mon cas...
Peut être si je t'indique le process tu pourrai avoir une idée de piste pr moi:

J'ai deux macros en feuill 1 et 2 qui vienne lire le contenu de fichier texte et le copie dans la feuille correspondante. Ici c'est ok

Avec les deux suivantes je viens lire les infos d'une colonne en fonction de la valeur de comptgeneral (qui doit s'incrémenter à chaque tour de process de 5 ou 6 selon le contenu des cases). Ceci est maitriser mais par classeur indépendant (mais dans mon cas je veux toutes les macros dans le classeur)

Ensuite les deux dernières servent à gerer des erreurs et les afficher et là aussi c'est maitrisé.

This Workbook
Sub general
macro feuill1
macro feuill3
macro feuill2
macro feuill4
macro feuill5
macro feuill6
Tempo (permet dattendre sans bloquer le processeur)
end sub

Ce que je veux en gros rajouter,c'est comptgeneral initialisé en dehors à la valeur 4 et chaque tour je le modifie de 5 ou 6 et je l'utilise dans macro3 et macro4.😱

Voila
Je te remercie beaucoup 🙂
 
Re : Problème de variable

Re,

Qu'entend tu par les macros ds un module?
Dans l'éditeur de macro (VBE), vas dans le menu Insertion -> Module.

En faite si j'ai mis ici une macro par feuille c'est que je dois écrire dans la feuille à chaque fois donc je ne vois pas très bien comment contourner le soucis
Il est tout à fait possible de gérer plusieurs feuilles dans une seule macro (ou procédure). L'important est toujours de bien identifier la feuille (ou les feuilles) que l'on manipule.
Donc, tes macros feuilles peuvent être dans un seul module.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

D
  • Question Question
Réponses
5
Affichages
250
Didierpasdoué
D
D
Réponses
4
Affichages
434
DidPouAxi
D
O
Réponses
5
Affichages
2 K
Olocsob
O
C
Réponses
1
Affichages
1 K
Cattleya97
C
Retour