Vider InkPicture

Bonjour,

Apres pas mal de recherche et de chance j'ai réussi à créer une zone de signature manuscrite en passant par une zone InkPicture.

Mon soucis est que cette zone se trouve sur une feuille (formulaire) qui s'actualise et lorsque cela arrive il faut que la signature disparaisse or je n'y arrive pas de manière automatique. J'arrive à utiliser le mode sélection ou gomme pour enlever la signature mais pas à le faire automatiquement.

Sinon peut être devrais je utiliser une autre méthode pour faire signer comme un InkEdit sans reconnaissance de caractère.

SI vous avez des solutions merci d'avance.

J'ai trouvé une piste en effacant ma InkPicture et en en remettant une.

Le soucis est que apres ça lorsque je passe ma souris dessus je n'ai pas le curseur qui change et je suis obligé d'activer puis de désactiver le mode création pour que ensuite mon curseur change en passant au dessus de la zone.

Voila mon début de code

Sub vide()

ActiveSheet.Shapes.Range(Array("InkPicture1")).Delete

    ActiveSheet.OLEObjects.Add(ClassType:="msinkaut.InkPicture.1", Link:=True _
        , DisplayAsIcon:=False, Left:=21.75, Top:=2988, Width:=684, Height _
        :=149.2).Select

    ActiveSheet.Shapes.Range(Array("InkPicture2")).Name = "InkPicture1"
   ActiveSheet.Shapes.Range(Array("InkPicture1")).Select
   Range("I135").Select

   MsgBox "ici"
ActiveSheet.Shapes.Range(Array("InkPicture1")).Activate
  MsgBox "ici"
InkPicture1.Activate

End Sub

J'ai l'impression que la forme n'ai pas activé en qq sorte et car je ne pas pas changer ses propriétés à part le nom.

Salut,

Le sujet remonte à plus d'un an mais j'ai peu être ta solution si tu n'as pas encore trouvé ^^ !

Elle pourra peu être servir pour d'autre en tout cas.

Pour effacer la totalité de l'encre sur une InkPicture, il faut préalablement désactiver l'encre sur ta InkPicture

Exemple de code :

'Je crée un bouton "effacer" sur mon formulaire (là où est situé ma Inkpicture)
Private Sub CommandButton2_Click() 'Bouton "effacer"
   With Me.InkPicture1
'Désactive l'encre
      .InkEnabled = False
'Efface toute l'encre de ma Inkpicture
      .Ink.DeleteStrokes
'Active l'encre
      .InkEnabled = True
   End With
end sub

Et tu peux faire la même chose sur une Inkpicture qui est situé sur une feuille de calcul :

'Je crée un bouton "effacer" sur mon formulaire (là où est situé ma Inkpicture)
Private Sub CommandButton2_Click() 'Bouton "effacer"
   With Sheets("Feuil1").InkPicture1
'Désactive l'encre
      .InkEnabled = False
'Efface toute l'encre de ma Inkpicture
      .Ink.DeleteStrokes
'Active l'encre
      .InkEnabled = True
   End With
end sub

Et comme, moi aussi j'ai bien galeré à trouver des infos sur les Inkpicture, voici un petit code qui pourra peu être servir à

certain qui souhaite, par exemple, faire signer un client sur une tablette avec un formulaire d'excel ouvert et recopier la signature

sur une Inkpicture située sur une feuille de calcul :

'A ce stade, je suis devant mon formulaire et mon Inkpicture du formulaire contient de l'encre (ou signature)
'J'ai créé un bouton "Valider", pour qu'il copie la signature du Inkpicture1 du Formulaire sur le Inkpicture2 de ma "Feuil1"
Private Sub CommandButton1_Click() 'Bouton "Valider"
   With Sheets("Feuil1").InkPicture2
      .InkEnabled = False
      Set .Ink = Me.InkPicture1.Ink
      .InkEnabled = True
   End With
End Sub

Voila, si ça peut servir

@+

Salut,

Même si j'en ai plus besoin ça peut servir à qqn d'autre.

Le problème de désactiver l'Ink c'est que apres tu vois plus ce que tu écris et que lorsque tu l'as réactive tu as toutes les couches d'encre.

Le moyen le plus simple que j'ai trouver c'est de supprimer la forme et de la refaire.

Re,

Je suis d'accord, mais quand tu désactive L'Ink avec "Enabled" c'est juste pour faire ta procédure d’effacement, après l'Ink est réactivée !

C'est lorsque tu utilise InkPicture1.AutoRedraw que tu as le soucis dont tu parles.

Enfin il me semble ^^

Bonne soirée !

Rechercher des sujets similaires à "vider inkpicture"