Effacer label dans un userform

Bonjour à tous,

désolé de vous déranger mais je voudrais simplement avoir un petit coup de main sur un soucis que je rencontre actuellement.

J'ai un userform dans lequel le clic gauche de ma souris me permet de " dessiner " des points rouges (enfin presque). Jusque la tout fonctionne, sauf que je rencontre deux soucis :

1) Je souhaiterais passer par un bouton pour activer / désactiver ce pseudo " pinceau "

2) Je souhaiterais effacer complétement ces points rouges générés dynamiquement via un bouton (j'en ai bidouillé un sauf qu'il ne marche qu'une fois et surtout il n'efface pas tout, je suppose que ça vient de la ligne " For i = 1 To 9 " mais quand je mets une valeur plus grande, il me marque " argument non valide ".

Je suis assez mauvais sur excel en faite, je parcours surtout les forums quand j'ai besoin de bidouiller deux trois trucs pour le boulot, ce qui me permet de ne déranger personne mais la c'est un peu le néant alors si vous pouviez être indulgent ^^

D'avance, merci

PS : je vous joins un fichier d'essai

33testforum.xlsm (14.33 Ko)

Bonjour skelisme, bonjour le forum,

Remplace la macro "Raz_Click" par

Private Sub RAZ_Click()
Dim Ctl As Control
For Each Ctl In Me.Controls
    If TypeOf Ctl Is msforms.Label Then
         Me.Controls.Remove Ctl.Name
    End If
Next Ctl
End Sub

À tester si ça convient ...

Joseph

Bonsoir,

excellent de facilité, j'étais bien loin de ma première idée

Merci beaucoup retraite8 !!

Si jamais quelqu'un à une idée pour ma première question mais c'était pas du tout la plus bloquante, c'était juste une question de confort (les boutons pour activer le " pinceau " ça m'aurait permis de mettre un panel de quelques couleurs différentes).

Encore merci!

Bonjour skelisme, bonjour le forum,

Tu as désennuyé un retraité cet après-midi (ici, c'est l'après-midi).

Si tu le modifies, évite les Label, sinon "RAZ" n'aimera pas cela.

Tu peux aussi inscrire une valeur dans les Textbox à droite, la barre de défilement correspondante va s'adapter ainsi que le TexboxCouleurs représentant les couleurs combinées ... celle qui sera active au moment du dessin.

Examine cela et j'espère que tu t'amuseras.

Joseph

P.S. Pour limiter le dessin que dans le WhiteBoard et ne pas colorer dans le reste du Userform, je vais laissé cela à un meilleur que moi. Il doit y avoir sûrement un truc simpliste. Si je trouve, je reviens.

Bonjour skelisme, bonjour le forum,

J'ai changé le fichier du post précédent.

J'ai effectué quelques corrections mineures : j'ai enlevé du code de OptionButton qui ne servait plus, suite à mon changement de stratégie. J'ai ajouté des améliorations à l'initialisation sur Userform dont les Texbox avec la valeur inscrite et la couleur noire au TextboxCouleurs (valeur de départ).

Joseph

Bonjour skelisme, bonjour le forum,

Comme Google est mon ami ... lui ...

J'ai trouvé comment limiter le dessin à la Zone Image (zone blanche).

Joseph

Bonjour skelisme, bonjour le forum,

Une correction de ce code. Il fonctionne bien maintenant, même s'il y a d'autres Label à l'extérieur de la zone image.

Private Sub RAZ_Click()
Dim Ctl As Control
For Each Ctl In Me.Controls
    If TypeOf Ctl Is msforms.Label Then
        If Ctl.Left > Me.WHITEBOARD.Left And Ctl.Top > Me.WHITEBOARD.Top _
                And Ctl.Left < Me.WHITEBOARD.Width + WHITEBOARD.Left And Ctl.Top < _
                    Me.WHITEBOARD.Height + Me.WHITEBOARD.Top Then
            Me.Controls.Remove Ctl.Name
        End If
    End If
Next Ctl
End Sub

Joseph

P.S. Correction incluse ...

Bonjour toutes et tous,

Positionnement du curseur uniquement dans le WHITEBOARD (x and y) affiche en bas du pinceau (textarea nom = Timg)

sympatoche

cordialement,

André

Rechercher des sujets similaires à "effacer label userform"