XL 2016 Userform1.show ne fonctionne pas, Help :)

RENAUDcyrille

XLDnaute Nouveau
bonjour
Voir fichier en pièce jointe.
Quand je passe par le sommaire et utilise "préparer une séance", la userform1 s'ouvre. pas de soucis
Code :
Private Sub CommandButton2_Click()
Unload sommaire
Worksheets("BD").Cells(7, 12).Value = "bouton"
UserForm1.Show

End Sub


mais si j'utilise le bouton "modifier une séance", la bug, VBA me dit objet introuvable.
code :
Private Sub CommandButton4_Click()
Unload sommaire
Worksheets("BD").Cells(7, 12).Value = ""
UserForm1.Show
End Sub


Pourquoi?
Je vous joint le fichier en pièce jointe, Merci de ne pas le diffuser.
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Cyrille,
Merci de ne pas le diffuser.
😅 Vous savez que nous sommes dans un espace public ?

J'ai le même problème que vous : "Mémoire insuffisante" lorsque Userform1 est lancé.
J'ai bien peur que votre Userform1 comporte trop d'éléments.
J'ai eu la stupide idée de vouloir compter les CheckBox dans Userform1. Idée stupide :
1674137899251.png

Je ne vois guère de solutions, si c'est bien un problème de nombre d'éléments dans l'userform.
Sinon de scinder cet userform en plusieurs avec un userform par page. Ou trouver une solution pour supprimer tous ces Checkbox.
(NB: si vous remplacez cet Userform par un vierge, alors ça marche. Cela semble bien dû à la complexité de votre userform1)

Mais je peux me tromper, vous aurez surement d'autres avis que moi. ( et surement plus éclairés )
 

RENAUDcyrille

XLDnaute Nouveau
Sujet à clore.
Je viens de trouver ma bêtise :)
tout simplement c'est que dans la procédure d'appel de modification, dans mon code j'appel un controle sous la forme "controls("labelbox").... alors que mes contrôles ce nome "Label" tous court d'où le bug. ce n'est pas la userform qu'il ne trouvait pas c'est le contrôle "labelbox" :) et tout remarche malgré les 180 boutons à cocher.
 

RENAUDcyrille

XLDnaute Nouveau
Bonsoir tous
je réouvre ce sujet mais en défi :)

En effet vous savez pour ceux qui ont suivi mes dernières demandes d'aide que mon fichier contient une grosse user form avec environ 200 checkbox, 300 labelbox. Bref beaucoup de monde. :)

le programme est fait pour s'activer à l'ouverture du fichier sur une userform.
- si je ferme cette user form (croix rouge) puis je passe par le menue "développeur" et l'interface VBA, pas de soucis, la grosse userform fonctionne elle s'ouvre tous est ok. je peut passer de userform en userform et revenir sur la grosse userform sans soucis une fois le programme lancé par l'interface.
-si dés l'ouverture je clique, sur les boutons pour ouvrir la grosse user form, Excel se plante. c'est pas toujours le cas, mais très souvent. C'est comme si Excel avait du mal à digérer la grosse userform a son ouverture.

Mon défi et mon appel au secours aussi et surtout, c'est de m'aider pour qu'Excel en mode automatique arrive constamment à digérer la grosse userform et puisse l'ouvrir. :)

vous trouverez en pièce jointe le fichier.
Pour arriver sur la grosse userform normalement il faut passer par le bouton "fichier bénéficiaire", puis le bouton "préparer/modifier une séance".

Merci d'avance pour vos conseils.
 

Pièces jointes

  • P.G.B.S.V1.1.xlsm
    312.3 KB · Affichages: 9

patricktoulon

XLDnaute Barbatruc
Bonjour
je vais pas y aller par 4 chemins
mémoire insuffisante en fonctionnement sans éditeur vbe
il y a deux solutions
soit il y a vraiment trop de controls ou limite
soit tu utilise une variable qui n'est pas du bon type et tu fait une opération dessus qui n'est pas conforme a son type

je dirais aussi que certains code sont bien maladroit
des procédures trop longues

le résultat attendu me semble t il est le remplissage d'une ligne a chaque fois sur une 60aine de colonnes
ce résultat pourrait être atteint en moins de 50 lignes de code

la destination aussi (la feuille) ce tableau pourrait etre un tableau structuré ( c'est bien plus simple a gérer pour envoyer les données du userform à la feuille )

nul doute que tu a beaucoup travaillé sur ce projet
mais tu aurais du venir nous voir avant de faire tout ce truc on t'aurait donné des pistes pour éviter ces problèmes
en l’état il y a beaucoup trop de boulot (faut pas oublier que l'aide qui t'est apporté est bénévole)
reprendre tout ça prendrait beaucoup trop de temps

perso je n'aurais pas fait ça avec excel
 

RENAUDcyrille

XLDnaute Nouveau
Merci pour cette encouragement :) :(
Effectivement mes connaissances en vba sont très limités et j'ai peu de temps libre pour les approffondir. J'ai fait avec et donc avec certainement beaucoup de maladresse ou des procédures longues.
Comme tu le dit vous nous aidez en tant que bénévole c'est pour cela que j’essaie de me débrouillé avec mon peu de connaissance tant que j'arrive à mes fins sans trop vous déranger.

Et là au vue de ta réponse je me rends compte que Excel et moi sommes limités pour ce type de projet mais je veux garder espoir que cela peut marcher.
Auriez vous des pistes ou des amélioration à amener à me guider pour arrivé au bout de ce projet?
J'en ai une que je vous soumet mais je pense qu'elle sera longue en écriture pour moi :) (pas grave)
C'est que je part avec une userform sans checkbox et à son ouverture le programme les créés. Quand pensez vous?
 

patricktoulon

XLDnaute Barbatruc
re

1 déjà remplace des checkbox par un seul bouton par exemple
et au click du bouton la valeur prend +1 et si 3 valeur= 1
c'est simple et ça te supprime 3 checkbox * X

apres vu le machin honnêtement j'ai survolé le truc
mais je suis sur qu'il y a beaucoup plus imple a faire pour incrire ou modifier une ligne de + de 60 colonne dans un tableau
car c'est a ça que ça se résume
a ton besoins de ce multipage
a ton besoins de faire x fois la même chose (même groupe de controls)dans le userform
etc.etc...

et ta feuille par pitié utilise un tableau structuré ça sera plus propre

et surtout quand on a pas de connaissances suffisantes (c'est pas une critique) on évite de faire des classes et jouer avec les couleur dynamiquement (c'est du tunning ça et ça bouufe de a memoire ) on le vois après

tu a un tableau de X colonnes et X lignes qui vont s'allonger
on part de là
que me faut til
ben c'est simple autant de textbox que de colonnes
et c'est déjà pas mal
chaque textbox correspondra a une colonne
dans le tag du textbox on y met l'index de colonne correspondant au tableau (structuré le tableau!!!!!!!)
la retranscription ou modif n'en sera que plus facile après
elle doit se faire en 4 lignes de code + 2 des private sub et end sub

commence déjà par mettre en place un tableau structuré dans ta/tes feuille concernées par le userform
avec entêtes de colonnes explicite ,on verra après
 

RENAUDcyrille

XLDnaute Nouveau
Re
Faut que je repense tous. aille :)
Pourquoi autant de bouton c'est pour garder un visuel par rapport à un format papier. Mon objectif c'est de supprimer le papier dans une activité d'auto entrepreneur.
une activité qui utilise un formulaire papier (2 feuilles A4 recto verso) avec 3 cases par items car il s'utilise en plusieurs séances (1ère colonne de case = séance 1, 2ème = séance 2 ..). Laissé les 3 cases par items me permet de rappeler ce qui a été fait dans les séances précédentes comme sur le formulaire papier.
C'est comme le changement des couleurs sur les labels, (avec l'aide ici, je n'ai pas inventé la classe, je ne savais pas que cela existait avant de copier ces lignes ^^) cela est un rappel de l'utilisation du formulaire en papier où on surligne les mots.

bref, je bricole plus que je construit sur VBA :) comme t'as pu le voir je ne sait qu'utiliser que des tests et des boucle de base. C'est juste de l'automatisation de base qu'un vrai programme mais bon tant que j'arrive à mes fins. Je ne cherche pas à développer un vrai logiciel mais à simplifier une action qui ce fait sur format papier.

Je vais revoir ma copie en repartant plus d'un tableau avant d'aller vers un userform et pas l'inverse comme j'ai fait.

Mais si vous avez des idées, des modifs, commentaires à partir de cette version, je suis preneur.
Merci
 

Discussions similaires

Statistiques des forums

Discussions
315 167
Messages
2 116 924
Membres
112 915
dernier inscrit
Ludof