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 !
J'ai un probleme + ou - similaire a celui de Civodul...
Je m'explique:
1) J'ai declare au debut de mon module5 pluisieurs variables :
PHP:
Public RAWPART_range as Range
Public MACHINING_range as Range
etc...
2) la 2 ou 3eme macro de ce meme module 5 sert a faire un scan de la worksheets "MASTER" et a initialier ces variables ranges "Public" ci dessus...
Jusque la tout va bien ca fonctionne...😱
3) mon probleme est le suivant
lorsqu'on clique sur le bouton pour appeller UserForm1, je lance le code suivant:
PHP:
Call DETECT_RANGE ''macro qui detecte les range en question
UserForm1.Show
Et c'est la que ca plante... Dans ma macro d'initialisation du UserForm1, je dois utiliser ces ranges mais au debuggage, lorsque je passe ma souris sur les range, j'ai une textbox qui me dit
Ce qui veut dire que mes ranges sont vides alors qu'ils sont declares en public et que j'ai lance la macro qui les initialise just avant...
Help...🙁🙁🙁
Merci d'avance!
*:J'ai dans un With ou en dehors du With, ca change rien...
**:J'ai mis des msgbox pour verifier que mes ranges sont bien initialises avant de lancer le UserForm, c'est OK...
***:Je suis pas loin de faire passer mon PC par la fenetre...🙄 Non qd meme pas, j'aurais plus rien pour venir sur XLD sinon...🙂
Toutefois, la correction de ce probleme en revele un autre🙁 car lorsque je lance mon USF, j'ai maintenant une "Run-time error 91"...
HELP VBA:
Object variable or With block variable not set (Error 91)
There are two steps to creating an object variable. First you must declare the object variable. Then you must assign a valid reference to the object variable using the Set statement. Similarly, a With...End With block must be initialized by executing the With statement entry point. This error has the following causes and solutions:
You attempted to use an object variable that isn't yet referencing a valid object.
Specify or respecify a reference for the object variable. For example, if the Set statement is omitted in the following code, an error would be generated on the reference to MyObject:
Dim MyObject As Object ' Create object variable.
Set MyObject = Sheets(1) ' Create valid object reference.
MyCount = MyObject.Count ' Assign Count value to MyCount.
You attempted to use an object variable that has been set to Nothing.
Set MyObject = Nothing ' Release the object.
MyCount = MyObject.Count ' Make a reference to a released object.
Respecify a reference for the object variable. For example, use a new Set statement to set a new reference to the object.
The object is a valid object, but it wasn't set because the object library in which it is described hasn't been selected in the References dialog box.
Select the object library in the Add References dialog box.
The target of a GoTo statement is inside a With block.
Don't jump into a With block. Make sure the block is initialized by executing the With statement entry point.
You specified a line inside a With block when you chose the Set Next Statement command.
The With block must be initialized by executing the With statement.
For additional information, select the item in question and press F1 (in Windows) or HELP (on the Macintosh).
Est ce que je dois redeclarer RAWPART_range dans mon code USF?
Est ce que je dois appeller les macro dans mon code USF?
Est ce que je dois injecter RAWPART_range dans un autre range avec set?
Je suis dans le flou pour tout dire...
Car si je remplace
J'ai pas eu de bug mais jai vu que tu déclares en public
Public RAWPART_range
puis dans une sub tu le mets en DIM alors si tu passe la main dans une routine est-ce que la variable public n'est plus pris en compte.
En effet, j'avais pas fait attention mais le DIM en plus n'avait rien a faire la... Merci pour ta remarque, j'essaie de corriger tout ca dans la journee et je vous fait signe sur l'evolution de la chose...
Merci beaucoup MJ13, tu as mis dans le mille !!!!!!!!! 😀😀😀
C'etait bien cette double declaration PUBLIC au debut du module et de nouveau en DIM dans la macro qui "tuait" ma declaration initiale en "public" de RAWPART_range.
Du coup il redevenait "Private", et forcement quand je faisais appel a lui dans une autre macro, ca appellait un range vide...
Comme quoi, quand on a la tete dans le guidon, on passe a cote des erreurs les plus banales...🙄 Heureusement, que y'a les experts de XLD pour nous remettre sur le droit chemin😉
Merci encore. Aplus.
PS: je finis mon USF et je posterai une version operationelle et allegee pour exemple.
- 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.