XL 2010 Remplissage du TextBoxNuméroCréationArticlesMenus

BUDGETS

XLDnaute Impliqué
Bonjour à toutes et à tous,

Soit la feuille BD articles menus comprenant un tableau dont le nom est TabArticlesMenus et comprenant différentes colonnes dont Code catégorie articles menus, Nom catégorie articles menus, Code article menu, Nom article menus et Numéro création articles menus.
Supposons que ce tableau soit vide. Je crée un premier article (Code catégorie articles menus : CCAM01, Nom catégorie articles menus : DMR, code article menus : DMR01, Nom article menus : Pomme). Numéro création articles menus : deux possibilités : la première taper le numéro moi-même; deuxième solution : demander au programme de le créer lui-même. Dans ce dernier cas, l'article n'existe pas, le numéro de création sera 1; l'article existe déjà : le numéro de création sera 2 ou 3 ou 4, selon le cas, etc. Pour chaque catégorie, il devra partir de 1 pour chaque article. DMR ET DS, n'auront qu'un seul article. DWE en aura 21. pour LMR : premier article : il aura le numéro 1, le 17ème article sera numéro 17. L'attribution du numéro de création sera indépendant d'une catégorie à l'autre.
D'avance merci pour votre aide.
 

BUDGETS

XLDnaute Impliqué
ok ; pour mes infos techniques sur Excel ou VBA, tu peux les écrire sans me citer. :)

je n'ai pas mis de copyright ni de royalties sur mes textes, lolllllll ! 😄 😜

soan
Bonjour SOAN,

Des deux phrases suivantes, laquelle te semble la plus adéquate, opportune ?
A. Une variable déclarée par Dim suivie de% (% étant un caractère de type d'identificateur) signifie que la variable est de type Integer (Integer : type entier sur 16 bits, soit 2 octets).
B. Une variable déclarée par Dim suivie de% (% étant un caractère de type d'identificateur) équivaut à Dim nom de la variable as Integer (Integer : type entier sur 16 bits, soit 2 octets.
Pour moi, c'est de la méfiance envers toi, vu le travail que tu as fait, que de demander à un autre contributeur ce qu'il pense du commentaire que je fais de tes diverses instructions, d'autant plus qu'il n'est pas dans ta peau et que toi seul tu sais ce que tu as voulu faire ou dire.
Je viens de faire d'autres essais dans l'UF01 : Pour DMR, pas de problème; pour DS, pas de problème; Mais à partir de DW et toute la suite, la liste déroulante code article reste vide, alors que dans ton fichier, la liste déroulante se rempli selon le choix fait. J'ai vu l'erreur que j'avais faite. C'est réparé.
 
Dernière édition:

soan

XLDnaute Barbatruc
Bonjour Christian,

je te propose cette phrase :

« Dans une instruction Dim, un caractère de type % signifie que la variable est du type Integer : nombre entier sur 2 octets (= 16 bits) »



« Mais à partir de DW et toute la suite, la liste déroulante code article reste vide » ... « J'ai vu l'erreur que j'avais faite. C'est réparé. » : parfait ! 👍 🙂 (tu deviens un pro, si tu arrives à corriger toi-même tes erreurs ! 😜)



« Y-a-t-il une liste avec le nom des couleurs et leur code tel que celui-ci ? » : le seul moyen que je connais, c'est de lire un nuancier comme par exemple ICI ; dans la colonne "bgcolor=", les nombres que tu vois avec un signe « # » devant, ce sont des nombres hexadécimaux (base 16) ; donc par exemple pour #CC99FF c'est idem que &HCC99FF (valeur hexa dans un code VBA) ; ou : &HCC99FF& (valeur hexa affichée dans une propriété BackColor d'un des contrôles d'un UserForm) ; SAUF QUE : sur le nuancier, la couleur #CC99FF est un violet clair ; or si tu mets &HCC99FF& dans une propriété BackColor tu auras un rose au lieu du violet clair ! donc pour "arranger ça", tu dois inverser les 2 valeurs extrêmes : au lieu de saisir &HCC99FF&, saisis : &HFF99CC& ; et , tu auras bien le violet clair du nuancier, et pas du rose ! 😊

je te vois venir, avec tes gros sabots : tu vas demander « pourquoi y'a cette inversion à faire ? 😭 » ; réponse : « j'en sais rien. » ; nan, c'est pas vrai : d'après moi (mais je n'en suis pas sûr), c'est très probablement à cause de la méthode de stockage des nombres dans les registres des microprocesseurs de la famille Intel : d'abord le LSB, puis le MSB ; Christian : « au secours ! késako encore ? :eek: » ; LSB = Less Significant Byte (= octet le moins significatif) ; MSB = Most Significant Byte (= octet le plus significatif) ; c'est limpide, pas vrai ? 😜 😂 🤣 tellement limpide que pour plus d'infos sur le MSB et le LSB, je te laisse chercher sur le net.

si ça peut t'aider, voici un indice : c'est le MSB qui contient le bit de signe (tout au bout à gauche), pas le LSB ! ... bon, ben t'en es quitte pour faire une autre recherche internet pour savoir ce que c'est qu'un bit de signe ! t'as vu, c'est drôlement marrant, l'informatique ! c'est comme un dictionnaire ! oui, car dans un dico, quand tu commences à chercher la définition d'un mot, tu tombes souvent sur un autre mot, que tu ne comprends malheureusement pas ; alors bon, t'es bien obligé d'faire une nouvelle recherche pour trouver la définition du 2ème mot ! et s'il y a un 3ème mot inconnu, la suite de tes pérégrinations peut te faire parcourir tout le dictionnaire !

et voilà comment, à vouloir simplement papoter sur la couleur, on en vient à discourir sur la méthode de Descartes sur la structure interne des registres des processeurs Intel ! j'y peux rien, moi, hein ? c'est pas ma faute si Intel a choisi cette façon de faire depuis son tout premier microprocesseur Intel 4004 ; reste à savoir pourquoi Krosoft a choisi qu'un nombre saisi en BackColor devait être idem qu'un LSB MSB et pas un MSB LSB ! mais là, tu m'en demandes trop ; alors je donne ma langue au chat Yeahou ! peut-être que Yeahou (salut) aura une meilleure explication que la mienne ? comme c'est la seule personne qui a travaillé à la fois dans l'équipe des ingénieurs d'Intel qui a conçu le 4004, puis dans l'équipe de développement du VBA, il saura sûrement la raison exacte ! pas vrai Yeahou ? 🤪



VB:
Sub Essai()
  MsgBox &HCC99FF
End Sub

cette sub affiche ce nombre décimal : 13408767 ; si tu saisis ce nombre en BackColor : rose.


VB:
Sub Essai()
  MsgBox &HFF99CC
End Sub

cette sub affiche ce nombre décimal : 16751052 ; si tu saisis ce nombre en BackColor :
le même violet clair que celui du nuancier.



après, à toi de choisir si tu préfères saisir en propriété BackColor un nombre décimal ou son équivalent hexadécimal ; de toute façon, ça reviendra au même, qu'il y aie ou non une conversion automatique : car le nombre hexa ou son équivalent décimal donneront la même couleur. 🙂



conclusion : si dans un nuancier tu vois une valeur hexadécimale, c'est plus facile à cause de l'inversion à faire dont j'ai parlé plus haut ; par contre, si dans un nuancier tu vois une valeur décimale, il vaudra mieux la convertir en nombre hexa pour pouvoir faire l'inversion.

pour mieux simplifier les choses (... :rolleyes: ), tu as aussi des nuanciers où au lieu d'un seul nombre pour la couleur, tu en as trois ; eh oui, un nombre pour chacune des couleurs de base ; rappelle-toi : RVB = Rouge ; Vert ; Bleu ... ou RGB = Red ; Green ; Blue ; et sur le nuancier, les 3 nombres d'une couleur de base peuvent être indiqués en décimal ou en hexadécimal.

réponse de Christian : « oh la la ! j'pensais pas qu'ça allait être aussi compliqué, moi ! :eek: bon ben alors tant pis ! j'laisse tomber la couleur, et j'vais remplacer les 2 écrans plats couleurs de mes 2 PC par les anciens écrans cathodiques et monochromes d'avant ; mais j'choisirai quand même un écran vert pour le PC de la salle à manger, et un écran ambre (jaune) pour le PC de la chambre. » ; ok, c'est une très bonne idée ! et tu n'auras plus besoin de saisir ces fichues valeurs dans une propriété BackColor ! 😊 😂 🤣

soan
 
Dernière édition:

BUDGETS

XLDnaute Impliqué
Bonjour Christian,

je te propose cette phrase :

« Dans une instruction Dim, un caractère de type % signifie que la variable est du type Integer : nombre entier sur 2 octets (= 16 bits) »



« Mais à partir de DW et toute la suite, la liste déroulante code article reste vide » ... « J'ai vu l'erreur que j'avais faite. C'est réparé. » : parfait ! 👍 🙂 (tu deviens un pro, si tu arrives à corriger toi-même tes erreurs ! 😜)



« Y-a-t-il une liste avec le nom des couleurs et leur code tel que celui-ci ? » : le seul moyen que je connais, c'est de lire un nuancier comme par exemple ICI ; dans la colonne "bgcolor=", les nombres que tu vois avec un signe « # » devant, ce sont des nombres hexadécimaux (base 16) ; donc par exemple pour #CC99FF c'est idem que &HCC99FF (valeur hexa dans un code VBA) ; ou : &HCC99FF& (valeur hexa affichée dans une propriété BackColor d'un des contrôles d'un UserForm) ; SAUF QUE : sur le nuancier, la couleur #CC99FF est un violet clair ; or si tu mets &HCC99FF& dans une propriété BackColor tu auras un rose au lieu du violet clair ! donc pour "arranger ça", tu dois inverser les 2 valeurs extrêmes : au lieu de saisir &HCC99FF&, saisis : &HFF99CC& ; et , tu auras bien le violet clair du nuancier, et pas du rose ! 😊

je te vois venir, avec tes gros sabots : tu vas demander « pourquoi y'a cette inversion à faire ? 😭 » ; réponse : « j'en sais rien. » ; nan, c'est pas vrai : d'après moi (mais je n'en suis pas sûr), c'est très probablement à cause de la méthode de stockage des nombres dans les registres des microprocesseurs de la famille Intel : d'abord le LSB, puis le MSB ; Christian : « au secours ! késako encore ? :eek: » ; LSB = Less Significant Byte (= octet le moins significatif) ; MSB = Most Significant Byte (= octet le plus significatif) ; c'est limpide, pas vrai ? 😜 😂 🤣 tellement limpide que pour plus d'infos sur le MSB et le LSB, je te laisse chercher sur le net.

si ça peut t'aider, voici un indice : c'est le MSB qui contient le bit de signe (tout au bout à gauche), pas le LSB ! ... bon, ben t'en es quitte pour faire une autre recherche internet pour savoir ce que c'est qu'un bit de signe ! t'as vu, c'est drôlement marrant, l'informatique ! c'est comme un dictionnaire ! oui, car dans un dico, quand tu commences à chercher la définition d'un mot, tu tombes souvent sur un autre mot, que tu ne comprends malheureusement pas ; alors bon, t'es bien obligé d'faire une nouvelle recherche pour trouver la définition du 2ème mot ! et s'il y a un 3ème mot inconnu, la suite de tes pérégrinations peut te faire parcourir tout le dictionnaire !

et voilà comment, à vouloir simplement papoter sur la couleur, on en vient à discourir sur la méthode de Descartes sur la structure interne des registres des processeurs Intel ! j'y peux rien, moi, hein ? c'est pas ma faute si Intel a choisi cette façon de faire depuis son tout premier microprocesseur Intel 4004 ; reste à savoir pourquoi Krosoft a choisi qu'un nombre saisi en BackColor devait être idem qu'un LSB MSB et pas un MSB LSB ! mais là, tu m'en demandes trop ; alors je donne ma langue au chat Yeahou ! peut-être que Yeahou (salut) aura une meilleure explication que la mienne ? comme c'est la seule personne qui a travaillé à la fois dans l'équipe des ingénieurs d'Intel qui a conçu le 4004, puis dans l'équipe de développement du VBA, il saura sûrement la raison exacte ! pas vrai Yeahou ? 🤪



VB:
Sub Essai()
  MsgBox &HCC99FF
End Sub

cette sub affiche ce nombre décimal : 13408767 ; si tu saisis ce nombre en BackColor : rose.


VB:
Sub Essai()
  MsgBox &HFF99CC
End Sub

cette sub affiche ce nombre décimal : 16751052 ; si tu saisis ce nombre en BackColor :
le même violet clair que celui du nuancier.



après, à toi de choisir si tu préfères saisir en propriété BackColor un nombre décimal ou son équivalent hexadécimal ; de toute façon, ça reviendra au même, qu'il y aie ou non une conversion automatique : car le nombre hexa ou son équivalent décimal donneront la même couleur. 🙂



conclusion : si dans un nuancier tu vois une valeur hexadécimale, c'est plus facile à cause de l'inversion à faire dont j'ai parlé plus haut ; par contre, si dans un nuancier tu vois une valeur décimale, il vaudra mieux la convertir en nombre hexa pour pouvoir faire l'inversion.

pour mieux simplifier les choses (... :rolleyes: ), tu as aussi des nuanciers où au lieu d'un seul nombre pour la couleur, tu en as trois ; eh oui, un nombre pour chacune des couleurs de base ; rappelle-toi : RVB = Rouge ; Vert ; Bleu ... ou RGB = Red ; Green ; Blue ; et sur le nuancier, les 3 nombres d'une couleur de base peuvent être indiqués en décimal ou en hexadécimal.

réponse de Christian : « oh la la ! j'pensais pas qu'ça allait être aussi compliqué, moi ! :eek: bon ben alors tant pis ! j'laisse tomber la couleur, et j'vais remplacer les 2 écrans plats couleurs de mes 2 PC par les anciens écrans cathodiques et monochromes d'avant ; mais j'choisirai quand même un écran vert pour le PC de la salle à manger, et un écran ambre (jaune) pour le PC de la chambre. » ; ok, c'est une très bonne idée ! et tu n'auras plus besoin de saisir ces fichues valeurs dans une propriété BackColor ! 😊 😂 🤣
 

BUDGETS

XLDnaute Impliqué
que c'est sympa de ta part de me faire confiance. :)
Et pour moi, c'est de la confiance méritée et bien placée. Cette après-midi, je vais écrire mes commentaires, mes explications du code de l'UF01_CtgArt dans ma feuille Mode d'emploi.
Dans le message 111, tu m'as répondu à mon message "Pour revenir à S1 et S2, S1 représente LDW et après avoir changé le L en C, il devient S2. Est-ce bien cela ?". À quel numéro de message de ta part ai-je posé ma question ? Comme j'ai le problème que tous mes messages ne s'affichent pas et que David Aubert ne m'a répondu, je suis dans le merdier complet. En connaissant le numéro de message, y-a-t-il un moyen de faire une recherche en indiquant le numéro du message. Je n'ai rien trouvé à ce sujet et peut-on savoir que ton message numéro untel répond à mon message numéro ??
 
Dernière édition:

soan

XLDnaute Barbatruc
Bonjour Christian,

Dans le message 111, tu m'as répondu à mon message "Pour revenir à S1 et S2, S1 représente LDW et après avoir changé le L en C, il devient S2. Est-ce bien cela ?".​

« s1 représente LDW » ; je dirais plutôt : « s1 contient "LDW" », ou en plus long : « s1 est une chaîne de caractères qui contient le texte "LDW" » ; j'ajoute que s1 restera ensuite inchangé.

« après avoir changé le L en C » : exact ; c'est alors le contenu final de s2.​



À quel numéro de message de ta part ai-je posé ma question ?

je ne sais plus, mais à priori, tu es mieux placé que moi pour le savoir ! 😁 😜 en tout cas, c'était pour : module de UF01_CtgArt, fin de la sub cbCodCtg_Change() ; relis mon post #67 et mon post #111.​



David Aubert ne m'a pas répondu

je crois bien que David est en vacances ; il reviendra peut-être début Septembre ? 🍀



En connaissant le numéro de message, y-a-t-il un moyen de faire une recherche en indiquant le numéro du message. Je n'ai rien trouvé à ce sujet et peut-on savoir que ton message numéro untel répond à mon message numéro ??

je ne crois pas qu'il est possible de faire une recherche selon le n° # d'un post ; il faut avoir son lien, qui ne comporte pas ce n° # : c'est un n° différent, créé par le système de posts de Xenforo ; pour ta 2ème question, je crois bien que la réponse est non : y'a pas moyen de savoir qu'un message que je poste est une réponse à ton post n° X ... ; mais au besoin, je cite une partie de ton post n° X dans mon post ; à propos, évite de me citer systématiquement, et surtout, évite de citer un très long post en entier ! ça rend plus difficile la lecture de la conversation, car il faut sauter toute ta citation pour lire les phrases de ton post.​

soan
 

BUDGETS

XLDnaute Impliqué
dans UF01_CtgArt, sub cbCodCtg_Change() :

cbCodArt.List = Range(s1 & s2).Value

attention :

* pour les 2 premiers items de cbCodCtg (indices 0 et 1), je ne remplis pas la 2ème ComboBox : à la place, je mets simplement : cbCodArt = "POM" et lbNomArt2 = "Pomme" ; c'est cela qui évite de faire une liste d'un seul item avec "Pomme" ; bien sûr, on quitte la sub aussitôt après.

* pour les autres items, à partir du 3ème (indices 2 et suivants) : exemple pour n = 2 :

s1 = T(n - 2) ➯ s1 = T(2 - 2) ➯ s1 = T(0) ➯ s1 = "LDW" : on a le nom de la liste des desserts du weekend.

s2 = "[" & s1 & "] : dans un 1er temps, s2 est ce même nom entre crochets : "[LDW]" ; dans un 2ème temps, je remplace l'initiale L par C : Mid$(s2, 2, 1) = "C" ➯ s2 = "[CDW]" ; c'est donc ce qu'il y a en D1 (de la feuille "LT01").

s1 & s2 : "LDW[CDW]" : tableau structuré de nom LDW, colonne CDW ; c'est ok : on a ce qu'il faut pour remplir la 2ème ComboBox cbCodArt.​

soan
 

BUDGETS

XLDnaute Impliqué
Bonjour SOAN,

Ci-joint mon fichier MENUS.xlsm : clic sur GO, erreur : la méthode range de l'objet Global a échoué (UF01_CtgArt, procédure cmdGO_Click, Unload me: UF02_Artmenu.show). Sauf erreur ou omission de ma part, le code est correct. La feuille BD articles est actuellement vide, est une raison de l'erreur ?
 

Pièces jointes

  • MENUS.xlsm
    79.7 KB · Affichages: 5

soan

XLDnaute Barbatruc
Bonjour Christian,

clic sur GO, erreur : la méthode range de l'objet Global a échoué

c'est bien, tu as bien décrit c'qu'il faut :

1) quelle est l'erreur (le texte du message d'erreur)

2) quand ça s'produit (quand on clique sur GO)

alors ça facilite la recherche de l'erreur ! 👍 :)



Sauf erreur ou omission de ma part, le code est correct.

euh... non, le code VBA ne peut pas être correct,
sinon l'erreur ne se produirait pas ! 😁 😄 😜



La feuille BD articles est actuellement vide, est-ce une raison de l'erreur ?

non, la feuille "BD articles" n'était pas la cause de l'erreur ; simplement, si tu veux renommer certains noms, c'est tout à fait ton droit ; mais dans ce cas, fais bien attention de faire tous les changements nécessaires, sans rien oublier ! 😁 😂 🤣 je te laisse lire le code VBA ; il y avait 2 instructions qui causaient une erreur lors du clic sur le bouton GO ; et comme tu ne fais pas dans la demie-mesure, y'avait encore 2 autres instructions qui causaient une autre erreur après ! ça fait donc en tout 4 instructions erronées... pour l'instant, car je n'ai pas pris la peine de tout tester ! :rolleyes: j'croise les doigts pour qu'il n'y aie pas d'autres erreurs, sinon, faudra qu'tu apprennes à déboguer tes propres erreurs ; et si vraiment ça coince, je t'aiderai si j'en ai le temps, et si tu décris bien ce qui ne va pas, comme tu l'as fait dans ton post précédent.


en retour, ton fichier corrigé. :) avec les mouchards désactivés, d'une façon « plus radicale » ! 😄 j'ai pas spécialement fait dans le détail, moi non plus ! 😅 😂 🤣

soan
 

Pièces jointes

  • MENUS8.xlsm
    76 KB · Affichages: 5
Dernière édition:

BUDGETS

XLDnaute Impliqué
Bonjour Christian,



c'est bien, tu as bien décrit c'qu'il faut :

1) quelle est l'erreur (le texte du message d'erreur)

2) quand ça s'produit (quand on clique sur GO)

alors ça facilite la recherche de l'erreur ! 👍 :)





euh... non, le code VBA ne peut pas être correct,
sinon l'erreur ne se produirait pas ! 😁 😄 😜





non, la feuille "BD articles" n'était pas la cause de l'erreur ; simplement, si tu veux renommer certains noms, c'est tout à fait ton droit ; mais dans ce cas, fais bien attention de faire tous les changements nécessaires, sans rien oublier ! 😁 😂 🤣 je te laisse lire le code VBA ; il y avait 2 instructions qui causaient une erreur lors du clic sur le bouton GO ; et comme tu ne fais pas dans la demie-mesure, y'avait encore 2 autres instructions qui causaient une autre erreur après ! ça fait donc en tout 4 instructions erronées... pour l'instant, car je n'ai pas pris la peine de tout tester ! :rolleyes: j'croise les doigts pour qu'il n'y aie pas d'autres erreurs, sinon, faudra qu'tu apprennes à déboguer tes propres erreurs ; et si vraiment ça coince, je t'aiderai si j'en ai le temps, et si tu décris bien ce qui ne va pas, comme tu l'as fait dans ton post précédent.


en retour, ton fichier corrigé. :) avec les mouchards désactivés, d'une façon « plus radicale » ! 😄 j'ai pas spécialement fait dans le détail, moi non plus ! 😅 😂 🤣

soan
Bonjour Soan,

Je n'ai pas souvenir d'avoir renommer certains noms. Sois plus explicite et dis-moi quels noms que j'ai renommés. Donc; comme d'habitude, l'erreur n'est pas là où Excel la signale, c'est-à-dire qu'unload me: UF2_ArtMenus.show n'a rien à voir avec le non fonctionnement. Je suis très étonné de ce que tu me dis, car j'ai repris mots pour mots tout ton fichier MENUS 7.xlsm tant pour les feuilles, les objets, les noms définis, etc. Relis bien mon message : je t'ai indiqué l'erreur qui se produisait, et à quel moment. J'ai été très précis, contrairement à ce que tu sembles affirmer. À toutes fins utiles, je te signale que je tape le code des différentes procédures en minuscules : des feuilles, des noms définis, des objets, etc. les minuscules se transforment automatiquement, soit partiellement, soit totalement suivant le cas, en majuscules, ce qui prouve que que le nom existe; dans le cas contraire, j'essaie de voir où se trouve l'erreur et je rectifie en conséquence. Donc les noms renommées cela me fait bien rire (jaune) ! Comment activer les mouchards ? L'ouverture et la sauvegarde ne sont plus pris en compte sur la feuille accueil. Ton fichier MENUS8.xlsm ne fonctionne pas : impossible de masquer les feuilles : HideFeuilles introuvable ! Plus rien ne fonctionne sur aucun des fichiers. HideFeuilles introuvable ! À l'avenir, si cela vient de cela, merci d'éviter de bloquer les mouchards. Revoir début du message pour les réactiver. MENUS7.xlsm.xlsm fonctionne correctement !
 
Dernière édition:

soan

XLDnaute Barbatruc
Bonsoir Christian,

avec les mouchards désactivés, d'une façon « plus radicale » ! 😄

Comment activer les mouchards ? L'ouverture et la sauvegarde ne sont plus pris en compte sur la feuille accueil.

dans le module ThisWorkbook, voici tes 2 subs actuelles (inchangées) :

VB:
Private Sub Workbook_Open()
Exit Sub
 Dim Lig1 As Long
    With FL01_AM
        'Ligne 1, colonne 1 (troisième colonne à partir de la colonne A, il sera marqué Open)
        .Cells(1, Col1).Value = "Open"
        Lig1 = WorksheetFunction.Max(.Cells(.Rows.Count, Col1).End(xlUp).Row, .Cells(.Rows.Count, Col1).End(xlUp).Row) + 1
        .Cells(Lig1, Col1).Value = Now
    End With
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Exit Sub
Dim Lig2 As Long
    With FL01_AM
        'Ligne 1, colonne 0 (quatrième colonne à partir de la colonne A, ou 1 colonne après l'open il sera marqué Save)
        .Cells(1, Col2).Value = "Save"
        Lig2 = WorksheetFunction.Max(.Cells(.Rows.Count, Col1).End(xlUp).Row, .Cells(.Rows.Count, Col2).End(xlUp).Row) + 1
        .Cells(Lig2, Col2).Value = Now
    End With
End Sub

je pensais que tu aurais vu ceci : pour les 2 subs, afin de désactiver les mouchards, au lieu de simplement mettre une seule ligne en commentaire, comme je l'avais fait avant (avec une apostrophe en début de ligne), j'ai carrément ajouté en 1ère ligne de la sub cette instruction : Exit Sub ➯ dès que la sub est appelée, ça en sort aussitôt ! 😁 😂 🤣 (tout simplement, c'est aussi bête que ça !) ; tu as donc juste à supprimer la 1ère ligne Exit Sub pour que ça remarche comme avant ! tu vois, c'est pas bien sorcier ! 😄

quand je dois travailler sur ton fichier, la 1ère chose que je fais est de désactiver tes mouchards, car ça ne m'arrange pas du tout que ça remplisse les colonnes C et D de la feuille Accueil, et surtout ceci : quand j'ai fini de travailler sur ton fichier, je mets l'attribut "Lecture Seule" : ça m'indique plus tard que si c'est en "Lecture Seule", j'avais finalisé ton fichier, et lors d'une simple consultation, je ne risque pas de le modifier par inadvertance ! seulement voilà : si le fichier est en lecture seule, tes macros Open et Save sont plus que gênantes ! 😁 😜 donc tant pis : je continue à les désactiver, et ce sera à toi d'enlever Exit Sub !​

soan
 

Discussions similaires

Haut Bas