XL 2019 Variable non definie

snoopy07

XLDnaute Occasionnel
Bonsoir le forum

Je suis entrain de passer un tableur qui est en XLS en XLSM
le probleme que je rencontre c est en xls il marche correctement
mais quand je le met en XLSM il bug
une fois les inscription fini au moment du tirage au sort des parties il dit que la variable F1 est non definie

Capture d’écran 2021-04-01 190204.png


J ai chercher dans tous le vba du fichiers XLS et je ne trouve pas de variable pour F1
Je bloque sur cette variable qui a mon avis doit être simple a trouver
pouvez vous m expliquer comment résoudre ce petit problème
pourquoi ca marche sur le XLS et pas sur le XLSM

Cordialement
Snoopy07
 

Pièces jointes

  • Essai 30 Concours de belote.xlsm
    158 KB · Affichages: 17

soan

XLDnaute Barbatruc
Inactif
@snoopy07

pour ta 1ère feuille par exemple, tu peux y faire référence :

* par son Nom "Equipes" : MsgBox Worksheets("Equipes").Range("D5")

* par son CodeName F1 : MsgBox F1.Range("D5")

* par son index 1 : MsgBox Worksheets(1).Range("D5")

dans les 3 cas, ça affiche le contenu de la cellule D5 de la 1ère feuille "Equipes"



tu peux même utiliser ces différentes notations abrégées :

MsgBox Worksheets("Equipes").[D5]

MsgBox [Equipes!D5]

MsgBox F1.[D5]

MsgBox Worksheets(1).[D5]

soan
 

Dranreb

XLDnaute Barbatruc
Alors CodeName est une propriété String en lecture qui reproduit le nom de l'objet Worksheet dans la rubrique Microsoft Excel Objets. Il ne faudrait pas confondre ce nom, qui est aussi la valeur de CodeName, avec la propriété CodeName elle même.
 

soan

XLDnaute Barbatruc
Inactif
@snoopy07

ATTENTION : j'ai oublié de préciser que si tu utilises l'index d'une feuille, celle-ci ne devra pas changer d'emplacement ! donc si par exemple tu utilises Worksheets(3) pour référencer la 3ème feuille du classeur, donc ici ta feuille "Classement", ça ne marchera plus si ensuite tu déplaces cette feuille "Classement" à gauche ou à droite de sa position actuelle ; donc au cas où tu utilises un index de feuille, sois vraiment très, très prudent ! :) (sinon rebelote ! 😄 😂 🤣)

soan
 

snoopy07

XLDnaute Occasionnel
bonjour soan ,Dranreb et le forum

merci pour vos réponse

je essayer de mettre en pratique tous ça mais ce n est pas gagner
si je n y arrive pas je garderai le fichier au format XLs qui date de jerusalem

bonne journée
cordialement
Snoopy 07
 

Dranreb

XLDnaute Barbatruc
Bonjour
Tant qu'à faire si vous changez la 1ère propriété ((Name)) des objets de cette rubrique mettez leurs plutôt des nom mnémoniques commençant par Wsh. Remplacez Feuil8 par WshPartie4, ce sera plus clair dans le code que F8 puisqu'il a comme clé "4 ème partie" dans la collection Worksheets
 
Dernière édition:

snoopy07

XLDnaute Occasionnel
re
j ai change la 1ère propriété ((Name)) des objets comme vous l avez dit

Capture d’écran 2021-04-02 105312.png

j ai toujours le meme problème quand le tirage des parties s effectue il y a une erreur

Capture d’écran 2021-04-02 104935.png

quand je clic sur ok
l usf se ferme normalement apres 3 seconde mais le tiage des partie ne s est pas effectuer
si dans la b TirageAleatoire j enleve
Dim F1 As Worksheet
Set F1 = Worksheets("Equipes")
Dim F2 As Worksheet
Set F2 = Worksheets("Equipes")
j ai le message variable non definies qui apparrait

comment résoudre ce petit problème

cordialement
 

Pièces jointes

  • Essai 31 Concours de belote.xlsm
    170.5 KB · Affichages: 1

Dranreb

XLDnaute Barbatruc
Si vous utilisez directement dans les codes les objets VBA implantés par l'application hôte, vous n'avez plus ni à les déclarer ni à les initialiser ni à les chercher dans les collections. C'était ce que vous n'aviez pas compris dans votre .xls d'origine: F1 pouvait être utilisé directement dans tout le projet VBA sans y avoir été déclaré nulle part parce que c'était le nom d'un objet VBA permanent qu'Excel avait mis à sa disposition pour représenter une certaine feuille du classeur.
 

snoopy07

XLDnaute Occasionnel
re

ce n est pas moi qui est fait le tableur je l ai recuper sur un forum
je pense qu il faut modifier le SubTirageAleatoire pour que ca marche
mais je ne sais pas comment le modifier

si c est trop compliquer je garderai le tableurs au format XLS
 

Dranreb

XLDnaute Barbatruc
Je ne suis pas intervenu à ce titre dans cette discussion qui s'intitulait "Variable non définie".
Pour les problème de tirages aléatoires de participants à des compétitions je propose généralement des processus tirés de ce classeur

Édition: Je vien même d'en retouver un qui vous était destiné et que j'avais joint ici :
 

Pièces jointes

  • ListeAléat.xlsm
    330.6 KB · Affichages: 2
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
315 127
Messages
2 116 535
Membres
112 771
dernier inscrit
mikadu49