XL 2021 Savez-vous planter les choux ?

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 !

Constantin

XLDnaute Occasionnel
Supporter XLD
Bonjour à tous,
A la demande d'aspsy et sur les conseils de sylvanu, j'ai repris un fichier pour le compléter façon jardinier.
J'ai ainsi ajouté (partiellement) , dans la BaseJM, l'Oca du Pérou (travail en cours)
- Problème 1 : Je n'arrive pas à importer la photo de l'Oca dans le rapport. J'ai vu que JM27 avait expliqué comment faire mais, comme à mon habitude, je n'ai pas réussi.(explications trop succinctes pour un balbutiant comme moi)
- Problème 2 : L'affichage du (des) tableaux mentionnent "Réalisation:Jean-Marcel.H"=JM27 d'XLD ?). J'aimerai placer cette annotation dans un endroit qui ne gêne pas mais je suis incapable de le voir dans l'UserForm.

Je numérote les problèmes parce qu'il y en aura d'autres à venir...
Bien à vous,
 

Pièces jointes

Solution
@cathodique
Effectivement je pense que ma version ( qui est la dernière) n'est pas compatible avec la tienne.
j'ai bien vu que tu n'as pas effacé le nom de l'auteur mais que tu as traité différemment.
Attention Constantin : ce message s'adresse à Cathodique.😀
ne viens donc pas le parasité.
Fonctionne chez toi sur une machine virtuelle.
Mais ne fonctionne pas chez moi Excel 2010 32bits.
Les précédents codes fonctionnement beaucoup mieux sur Excel 2010.
Merci pour ta ténacité. Perso, je suis têtu et ne lâche pas le morceau facilement.
Cependant, je connais mes limites de compétence. Quand ça me dépasse, ça me dépasse un point c'est tout.
Je ne sais pas sous quel O.S patricktoulon a testé son code mais moi comme cathodique c'est sous windows 7 avec un excel 2010 32 bits. Et le code avec le memoControlSize dans le initialize fonctionne aussi sous windows 11 Excel 2021 64 bits
 
re
bonsoir @nullosse jai tester win10 et office 2010 dans une virtual machine
mais visiblement @cathodique a d'autre problème bien plus grave si le seul code "unload Me" dans le click du bouton déclenche une erreur
Possible que mon win7 64bits ou Excel2010 32bits soient corrompus.
Voici en direct ce qui se passe avec le dernier code de @patricktoulon
DernierCodePatrick.gif

on voit bien que le formulaire n'est pas en plein écran et le plantage. Mystérieux!!!
Merci beaucoup.
 
Bon, j'ai testé le code de patricktoulon avec mon Excel 2010, windows 7 , j'ai eu la même erreur que cathodique. Mais après debug , j'ai compris ce qui se passait . Dans l'activate de patricktoulon l'instruction NoTitleBar Me se trouve avant l'instruction memoControlSize. Sous windows 7 Excel 2010 , l'instruction NoTitleBar Me provoque un événement Userform_Resize et faire un resiZer Me sans que memoControlSize ait été exécuté, cela conduit à mettre le userform dans un état pas très stable. Alors la solution est simple : il faut faire le NoTitleBar Me après le memoControlSize :
VB:
Option Explicit

Private Sub CommandButton1_Click()
    Unload Me
End Sub

Private Sub UserForm_Activate()
    ListBox1.List = [A1:B10].Value
    '    ListBox2.List = [A1:A10].Value
    If memoControlSize(Me) Then
        UsfFullScreen Me
    Else
      MsgBox "Il c'est produit un problème lors de la memorisation des positions et dimensions des controls"
    End If
    NoTitleBar Me
End Sub

Private Sub UserForm_Resize()
    resiZer Me
End Sub
Avec ce code cela fonctionne avec mon Excel 2010 Windows 7
 
Bon, j'ai testé le code de patricktoulon avec mon Excel 2010, windows 7 , j'ai eu la même erreur que cathodique. Mais après debug , j'ai compris ce qui se passait . Dans l'activate de patricktoulon l'instruction NoTitleBar Me se trouve avant l'instruction memoControlSize. Sous windows 7 Excel 2010 , l'instruction NoTitleBar Me provoque un événement Userform_Resize et faire un resiZer Me sans que memoControlSize ait été exécuté, cela conduit à mettre le userform dans un état pas très stable. Alors la solution est simple : il faut faire le NoTitleBar Me après le memoControlSize :
VB:
Option Explicit

Private Sub CommandButton1_Click()
    Unload Me
End Sub

Private Sub UserForm_Activate()
    ListBox1.List = [A1:B10].Value
    '    ListBox2.List = [A1:A10].Value
    If memoControlSize(Me) Then
        UsfFullScreen Me
    Else
      MsgBox "Il c'est produit un problème lors de la memorisation des positions et dimensions des controls"
    End If
    NoTitleBar Me
End Sub

Private Sub UserForm_Resize()
    resiZer Me
End Sub
Avec ce code cela fonctionne avec mon Excel 2010 Windows 7
Bonjour @nullosse 😉, @patricktoulon 😉, @JM27 😉, @sylvanu 😉,

@nullosse: Merci beaucoup. Moi aussi, je confirme fonctionne bien sous Win7 64bits et Excel 2010 32bits.

Je vous souhaite une excellente journée.
 
Bonjour tout les deux
ok donc pour 2007 et 2010 le memo dans le initialise TOUT SIMPLEMENT
vous avez donc et surtout toi cathodique les deux versions a jours du module resize (version macro 4/ version api declarées)
pour le coup on a donc mis a jour le findwindow a la place de getactivewindow et le columnwidth propre

j'espères que tu ne proposera plus ce boucan de code que t' a bricolé chatGpt en triturant mon code que j'utilise depuis plus de 20 ans dans mes userforms
 
Bonjour Patrick,

j'espères que tu ne proposera plus ce boucan de code que t' a bricolé chatGpt en triturant mon code
Ce n'est vraiment pas cela que j'ai fait. J'ai partagé ton code qu'on utilise à l'association sur nos fichiers.
J'ai voulu en faire profiter @Constantin , parce que nous étions 2 participants à ne pas pouvoir visionner son formulaire sur nos petits écrans.
La hauteur du formulaire était trop grande.

c'est @JM27 qui m'a informé, que le code plante sur son office 365.
C'est de là qu'est partie l'idée, je dis bien: "d'essayer de trouver une solution pour rendre ton code" compatible pour les versions plus récentes d'excel.

J'ai pensé lui rendre service, pour qu'il n'ait pas de mauvaises surprises s'il utilisait son fichier sur un ordinateur portable.
En retour, j'ai été littéralement insulté en message privé. Il manque de droiture et de courage en supprimant les 2 mp.
Je n'ai eu le temps de le signaler.

Je reviens après cette parenthèse.
"En triturant ton code", tu as dit plus haut dans la discussion: "c'est ce qui m'a permis de comprendre comme ça fonctionne."
Toi tu as compris, pas moi. Bien que je sais que ChatGpt pond n'importe quoi, j'ai tenté le coût.
Et, j'avoue que j'ai été bluffé car cela fonctionnait sur Excel 2010.
Donc ce que j'ai partagé avec @JM27, n'était que pour un test sur sa machine.
Étant, donné que je n'ai pas aucune version plus récente à 2010 d'installer chez moi.

Je vous souhaite une excellente journée.

ps: promis je ne partagerai plus aucuns tes codes.
 
@cathodique tu peux partager c'est pas la question mais dans sa version originale
si il y a modif a faire tu m'en parles je suis là pas de soucis

en tout cas tu te rends compte maintenant que ce qu'avait fait chatGpt était inutile
perso je les ai testé dans des machines virtuelle
win 7 office2007
win7 office2010
win 10 office10
et dans le activate elle fonctionnent parfaitement bien
après en condition réelle on a plein de choses installées qui tournent peut être en arrière plan donc le mémo dans le initialise est plus indiqué
mais c'est tout pas besoins de déléguer par 3 reprises une sub ou fonction
 
@cathodique tu peux partager c'est pas la question mais dans sa version originale
En fait, c'est ce que j'ai fait. J'ai partagé dans sa version originale et elle a planté sur Excel 365.

Je n'ai pas voulu te déranger. J'ai tenté mais échoué.
Je sais reconnaître mes limites de compétences.
Oui sur une machine virtuelle cela fonctionne chez toi.
En vrai sur ma bécane, le code plante sur Unload Me.
Cependant, @nullosse a trouvé la solution.

Merci à vous deux.
 
oui le unload Me: là c'est une énigme rien a voir avec tout le reste
la par contre c'est sur c'est une de tes librairies qui est en vrac quelque part
l'instruction est simple et dans un bouton donc je ne vois pas ce qui peut clocher
passe a 2013 tu en trouve sur le net même débloqué sans licence
ca te changera pas de office 2010 sauf les problème en moins
 
oui le unload Me: là c'est une énigme rien a voir avec tout le reste
la par contre c'est sur c'est une de tes librairies qui est en vrac quelque part
l'instruction est simple et dans un bouton donc je ne vois pas ce qui peut clocher
C'est pas une énigme le problème avec le unload Me : moi aussi je l'ai eu et j'ai pas de librairie en vrac : avec un resiZer Me sans memocontrolsize le userform part en vrille .
 
- 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
Retour