Microsoft 365 Signature manuelle sur écran tactile

  • Initiateur de la discussion Initiateur de la discussion Marec
  • Date de début Date de début

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 !

Marec

XLDnaute Occasionnel
Bonjour a toutes et à tous,

J'ai parcouru et trouver des exemples de ce qui est faisable et qui correspondrait a ce que je tente de faire
Signer manuellement dans une ou plusieurs cellule d'une grille d'évaluation.
Vais que j'ai vu est très difficile a comprendre à et à adopter de mon côté .
Si une aide pouvait m'etre apportée avec quelques explications ce serait bien venu.
Je joins une grille qui n'est pas finale mais qui et vierge de toutes.
Comment coder pour qu'un usf apparaisse dans les cellules prévues pour une signature et donc signer avec un stilet sur écran tactile.
A noter : beau pour de cellule fusionnees dans le document,ca n'aide peut être pas
Au cas où je suis preneur
D'avance merci
 

Pièces jointes

Solution
Ce ci dit depuis que j'ai ajouter "doevents"sa ne bug plus.
L'utilisation du presse-papiers reste imprévisible l'application n'a pas le contrôle total il peut être utilisé ou bloqué par une autre application ou par le système, l’antivirus .

Jf tente de modifier le code "croix" pour ne l'appliquer qu'à des plages réponses..Sinon j'en met plein la feuille
Utilise intersect dans SelectionChange pour détecter les plages dans lesquelles l'application du croix est valide
j'ai pu détecter deux plages qui sont claires X12:AL16 et X18:AL26 , le reste contient des cellules fusionnées
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 On Error GoTo mfin 'selectAll déclenche une erreur
 If...
Bonjour Rheeem:

J'ai opté pour le code
rapidité efficacité, sans ton intervention ....je pense que je serai encore loin de finaliser ce document

Grand merci a toi
Bonjour Rheeem:

J'ai refait le document pour actualiser la version
J'ai ce message lors du clic pour signr sur les cellules.
"La méthode pastespecial de la classe worksheet a échoué..."

D'après ce que j'ai lu : presse papier peut être serait en cause
Comment vois tu ce problème ?
 
Oui il est possible que le presse-papier échoue et c'est très contraignant de voir la fiche se fermer se qui oblige à refaire toute l'operation, bien qu'il soit possible de s'en passer de l'utilisation du presse-papier en recapturant les chemins et les tracer dans un shape mais le code sera plus long ..

Dans l’ancien code (supprimé) j'avais ajouté un gestionnaire d'exception justement pour empêcher l’arrêt du programme, un massage indiquant que l’opération a échoué sans fermer la fiche alors tu peux revalider une deuxième fois.

Ajouter On Error.. juste avant PasteSpecial
et le label mErr avant la ligne ActiveSheet.Protect
Code:
        On Error GoTo nErr:   
        Worksheets("Feuil3").PasteSpecial Format:="Image"
  ....
 
 
 
nErr:
ActiveSheet.Protect
If Err.Number <> 0 Then
  MsgBox Err.Description, vbExclamation
End If
 
Bonjour Rheeem:

J'ai refait le document pour actualiser la version
J'ai ce message lors du clic pour signr sur les cellules.
"La méthode pastespecial de la classe worksheet a échoué..."

D'après ce que j'ai lu : presse papier peut être serait en cause
Comment vois tu ce problème ?
Ousppppp
Ça semble repartir correctement petit ajout en début de ligne.
Doevents worksheet("feuill1".pastespecial......

A voir avec le temps et les ajustements de document ,si tous reste stable
Bon week end
Oui il est possible que le presse-papier échoue et c'est très contraignant de voir la fiche se fermer se qui oblige à refaire toute l'operation, bien qu'il soit possible de s'en passer de l'utilisation du presse-papier en recapturant les chemins et les tracer dans un shape mais le code sera plus long ..

Dans l’ancien code (supprimé) j'avais ajouté un gestionnaire d'exception justement pour empêcher l’arrêt du programme, un massage indiquant que l’opération a échoué sans fermer la fiche alors tu peux revalider une deuxième fois.

Ajouter On Error.. juste avant PasteSpecial
et le label mErr avant la ligne ActiveSheet.Protect
Code:
        On Error GoTo nErr:  
        Worksheets("Feuil3").PasteSpecial Format:="Image"
  ....
 
 
 
nErr:
ActiveSheet.Protect
If Err.Number <> 0 Then
  MsgBox Err.Description, vbExclamation
End If
Bonsoir,
Je garde ton explication.
Ce ci dit depuis que j'ai ajouter "doevents"sa ne bug plus.
Jf tente de modifier le code "croix" pour ne l'appliquer qu'à des plages réponses..Sinon j'en met plein la feuille 😅
De plus je vais ajouter un bouton enregistrer la feuille en pdf et v
Rendre vierge le document.
Paq impossible que je te sollicite d'ici quelques temps ,🥴

Bonne soirée
Bon weekend
 
Ce ci dit depuis que j'ai ajouter "doevents"sa ne bug plus.
L'utilisation du presse-papiers reste imprévisible l'application n'a pas le contrôle total il peut être utilisé ou bloqué par une autre application ou par le système, l’antivirus .

Jf tente de modifier le code "croix" pour ne l'appliquer qu'à des plages réponses..Sinon j'en met plein la feuille
Utilise intersect dans SelectionChange pour détecter les plages dans lesquelles l'application du croix est valide
j'ai pu détecter deux plages qui sont claires X12:AL16 et X18:AL26 , le reste contient des cellules fusionnées
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 On Error GoTo mfin 'selectAll déclenche une erreur
 If Target.Count <> 1 Then
    Exit Sub
 End If

 If (Intersect(Target, Range("X12:AL16, X18:AL26")) Is Nothing) = False Then
        If Target.Value = "X" Then
            Target.Value = ""
        Else
            Target.Value = "X"
        End If
 End If
mfin:
End Sub
 
L'utilisation du presse-papiers reste imprévisible l'application n'a pas le contrôle total il peut être utilisé ou bloqué par une autre application ou par le système, l’antivirus .


Utilise intersect dans SelectionChange pour détecter les plages dans lesquelles l'application du croix est valide
j'ai pu détecter deux plages qui sont claires X12:AL16 et X18:AL26 , le reste contient des cellules fusionnées
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 On Error GoTo mfin 'selectAll déclenche une erreur
 If Target.Count <> 1 Then
    Exit Sub
 End If

 If (Intersect(Target, Range("X12:AL16, X18:AL26")) Is Nothing) = False Then
        If Target.Value = "X" Then
            Target.Value = ""
        Else
            Target.Value = "X"
        End If
 End If
mfin:
End Sub
 
Salut,
ton copy , pastespecial semble très rapprochés :
VB:
        InkPic.Ink.ClipboardCopy
        On Error GoTo nErr:
        Worksheets("Feuil3").PasteSpecial Format:="Image"
Si cela fonctionne en pas à pas, essaie de mettre une temporisation entre les deux ou regarde ici pour réessayer la commande pastespecial jusqu'à ce qu'elle réussisse.
Nullosse
 
Je tenterai d'adapter ce code.
A savoir que le document actuel n'est plus celui que j'ai transmis précédemment
Le nouveau a été revu pour limiter les cellules fractionnées qui étaient majoritaires.
Les croix posent problème uniquement lorsque le document est de protégé pour une quelconque modif...de ce fait on place des croix au moindre clic et n'importe où dans le document ..d'où le souhait de palier a cela.
 
Salut,
ton copy , pastespecial semble très rapprochés :
VB:
        InkPic.Ink.ClipboardCopy
        On Error GoTo nErr:
        Worksheets("Feuil3").PasteSpecial Format:="Image"
Si cela fonctionne en pas à pas, essaie de mettre une temporisation entre les deux ou regarde ici pour réessayer la commande pastespecial jusqu'à ce qu'elle réussisse.
Nullosse
Bonsoir nullosse
Jusque la je ne rencontre plus le problème.
Mais Merci pour ta proposition et tes explications
.
 
- 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