probleme avec Public

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

sri75

XLDnaute Occasionnel
Bonjour j'ai écrit cette macro ( lance ) et si je l'execute en pas à pas (F8 ) elle marche.
Si je la lance avec une boite ou directement par executer, elle plante.
Ma variable "nom" déclarée dans public n'est pas reconnue dans la macro Macr.

Merci de votre aide.

Public nom
Public fic


Sub lance()
Macr
ZER2
insere

End Sub



Sub Macr()

Dim sh As Worksheet, laCell As Range
Dim no As String ''declare la variable nf (nom de l'Onglet)

For Each sh In Sheets
Set laCell = sh.Cells.Find(What:="Balance Générale de Janvier 2008 à Décembre 2008", LookAt:=xlWhole)
If Not laCell Is Nothing Then
'sh.PrintOut Copies:=1, Collate:=True
nom = sh.Name 'définit la variable no
Exit For 'sort de la boucle

End If
Next sh

fic = ActiveWorkbook.Name


Call recup 'lance la macro

End Sub
 
Re : probleme avec Public

bonjour,
si tu veux utiliser une variable public, il faut l'utiliser tout à fait comme tu le fais, mais je ne vois pas à quoi sert (à rien, d'ailleurs) ta variable no
Il ne faut surtout pas définir une deuxième fois 'nom' dans une sub sinon cela va la déclarer 'locale à la sub' et de ce fait n'utilisera pas la déclaration 'public' que tu as fait au préalable

pour tester, fait un msgbox nom dans une autre de tes sub pour voir ce que contient ta variable nom
 
Re : probleme avec Public

Merci pour ta réponse; juste une dernière question car je viens de me rendre compte d'un oubli dans la construction de cette macro ( Macr ), je n'ai pas prévu le cas où ce que je cherche n'est présent dans aucun des onglets.

Actuellement la macro teste tous les onglets, mais s'il n'y a rien elle continue après le NEXT et va lancer l'autre macro.

Comment inserer une clause de controle du genre "si rien n'est trouvé msgbox("probleme").

Merci de ton aide
 
- 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

S
Réponses
10
Affichages
2 K
sardaucar
S
N
Réponses
5
Affichages
2 K
Nicko29
N
C
  • Question Question
Réponses
3
Affichages
582
W
Réponses
4
Affichages
2 K
wilbur11
W
Retour