Explication de code
#1
Aspirant XLPages

Inscription: 26/10/2014
De ST QUENTIN 02

Messages: 30

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 03-02 00h46

Bonsoir le forum

Bonsoir à toutes & à tous

 

    Je possède un fichier (enfin plusieurs...) de notre ami MyDearFriend (que je salue chaleureusement). Toutefois, je ne parviens pas à comprendre le sens du code de cette partie (à quel moment, la macro "Clignote est elle appelée ?) : 

 For i = 1 To 8
        If TextBox1.Value Like "*" & CStr(i) & "*" & CStr(i) & "*" & CStr(i) & "*" Then
                        Clignote

   Je vous joints le fichier pour une meilleure compréhension. Merci à celui ou celle qui voudra bien prendre le temps de me répondre.

Bonne nuit à toutes & à tous

Eric 

Pièce jointe:
xls PourBobjazz2[1].xls   [ Taille: 26.50 Ko - Téléchargements: 54 ]
Hors Ligne
Rapport   Haut 

Re: Explication de code
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1518

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 03-02 01h57

Bonsoir ericcool, le Forum,

 

Eh bien ! Le fichier que tu joins, date du mois d'août 2005. Ça me met un coup de jeune ! smiley

Il s'agit visiblement d'un exemple que j'avais réalisé en réponse à une question sur un Forum (sur le site ExcelDownloads compte tenu de l'époque...).

 

Visiblement la macro devrait se déclencher lorsque lorsque 3 chiffres identiques (entre 1 et 8) sont saisis dans la TextBox (il peuvent être séparés par d'autres caractères le cas échéant).

 

Aussi, pas facile de se rappeler le contexte de ce fichier, hein ?! 

 

Cela dit, une rapide recherche Google, et je viens de retrouver le fil de discussion (sur XLD) à l'origine de ce fichier fait pour l'ami bobJazz. Tu devrais y trouver tout le détail souhaité. 

 

Nb: lorsque tu récupères des fichiers comme ça, essaies de conserver aussi l'URL source, c'est toujours utile pour avoir le contexte et l'explication... (moi, c'est ce que je fais la plupart du temps).

 

En espérant avoir pu t'aider.

Bien cordialement,


Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Explication de code
#3
Aspirant XLPages

Inscription: 26/10/2014
De ST QUENTIN 02

Messages: 30

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 03-02 09h10

Bonjour le forum

Bonjour Didier et merci de ta réponse aussi rapide (toujours aussi prévenant et c'est l'une de tes nombreuses qualités.. pour ceux qui me lisent, je connais (par forum interposé) notre ami Webmaster depuis 2005 (peut être même un peu avant) et il en a donné ET il continue à donner des soluces... et des conseils et des ...fichiers ....). Oui, il est vrai que ce post date et je viens de le retrouver en fouillant dans mes boi-boîtes d'archives. Merci pour le lien (je n'y avait pas pensé).

Bonne continuation et encore merci. 

Eric c 

 

Hors Ligne
Rapport   Haut 

Re: Explication de code
#4
Aspirant XLPages

Inscription: 26/10/2014
De ST QUENTIN 02

Messages: 30

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 26-02 11h04

  Bonjour le forum

Bonjour Didier.

 

    Je sais qu'il ne faut pas revenir sur un sujet clôturé mais je me suis, comme d'habitude, précipité. Tout fonctionne très bien sauf qu'à chaque utilisation ((activate) du UserForm) faite pour activer la phase "Clignore", un nouveau fichier se crée dans ma barre de tâche ??? 

Dans la photo jointe, il s'avère que j'ai activé 2 fois le code "Clignote" donc 3 fichiers présents dont l'original. 

  A quoi cela est il dû ? 

Par ailleurs, le fichier n°01 du post que tu as retrouvé possède une ligne de code dont toi seul à le secret et de ce fait, je ne parviens pas à déchiffrer ???. Le code : 

If V > 0 And V / 111 = V \ 111 Then - Si valeur est sup à 0 puis ??????

  Merci et bon ouikand à toi ainsi qu'à toutes & à tous.

@+ Eric

 

 

 

Hors Ligne
Rapport   Haut 

Re: Explication de code
#5
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1518

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 26-02 14h07

Bonjour Eric, le forum,

 

Tout d'abord, et concernant la duplication d'instance de ton fichier, j'avoue que je sèche frown... Je viens de vérifier et je n'ai pas cet effet indésirable sur ma config (Office 365). Ca semble fonctionner correctement chez moi.

 

Ensuite, concernant le code VBA contenu dans la version n°1 du fichier fourni pour BobJazz (voir lien du fil de discussions dans mon post précédent, plus haut) :

Citation :

ericcool a écrit :

Par ailleurs, le fichier n°01 du post que tu as retrouvé possède une ligne de code dont toi seul à le secret et de ce fait, je ne parviens pas à déchiffrer ???. Le code :

 

If V > 0 And V / 111 = V \ 111 Then 

A l'origine, l'ami BobJazz souhaitait remplir la TextBox avec 3 chiffres, et si ces chiffres était identiques (222, 555, etc.), cela devait déclencher l'action de clignotement.

 

L'idée était donc d'analyser la valeur (V) contenue de cette TextBox après chaque caractère saisi :

  1.  on vérifie d'abord que la valeur soit supérieure à zéro (If V > 0)
  2.  on teste ensuite si la valeur saisie est divisible par 111 ou non (la saisie dans cette TextBox étant limitée à 3 caractères maxi grâce à sa propriété MaxLength)

 

Sachant qu'une série de 3 chiffres successifs est automatiquement divisible par 111, je m'assure que c'est bien le cas avec l'expression : "V / 111 = V \ 111".

 

Pour rappel, le signe " \ " (back slash ou slash inversé) est l'opérateur de division entière en VB-VBA. Son résultat est automatiquement un entier (retourne donc, un résultat sans aucune décimale !).

 

Autrement dit : si "V / 111" donne la même chose que son équivalent entier, alors il s'agit bien d'une série de 3 chiffres identiques.

 

Bien évidemment, on peut procéder de bien différentes manières pour obtenir le même test, comme :

  • vérifier que le modulo donne zéro :  "If V Mod 111 = 0"
  • vérifier que le reste de la division donne zéro : "If (V / 111) - Int(V / 111) = 0"
  • ou même comparer directement les 2 expressions, un peu comme je l'ai fait : "If (V / 111) = Int(V / 111)"

 

Voilà, mon cher Eric, j'espère que ça peut t'éclairer un peu sur la façon dont j'ai procédé.

 

Cela dit, je suis navré pour la duplication des instances du fichier lorsque tu l'exécute, car je n'ai aucune idée de ce qui se passe sur ton poste... (Problème de sécurité ? Fichier stocké dans un emplacement non approuvé (voir options Excel) ? Problème d'accès en écriture sur un lecteur réseau ?)

Si tu trouves l'explication, je reste bien évidemment preneur !

 

Bien amicalement,

 


Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Explication de code
#6
Aspirant XLPages

Inscription: 26/10/2014
De ST QUENTIN 02

Messages: 30

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 26-02 18h17

Bonsoir le forum

Bonsoir Didier

 

    Toujours aussi prompt à répondre et c'est l'une de très grandes qualités. Pour cela, grand merci. 

Très intelligent cette façon de faire, il fallait y penser.

 

  Donc à nouveau merci à toi.

 

Concernant la duplication, mes macros sont activées, connaissant l'auteur et je suis sur un PC perso à domicile. Le fichier se trouvait sur un DD externe qui ne "souffre" d'aucun problème et j'avais le même soucis avec le fichier repris depuis ton forum. 

   L'idée m'est venue à l'instant d'enregistrer le fichier en Xlsm et là, le problème a disparu. 

Bon ouikand à toi & aux tiens.

@micalement Eric 

  

 

Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes