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 !
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
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...
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
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
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 ,🥴
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
Les cellules se verrouillent par défaut lors de l'appel .Protect il faut enlever la protection pour les zones modifiables comme celles des croix, ou simplement sélectionner toutes les cellules de la feuille et les déverrouiller et après celles des signatures seront protéger après la fermeture du la fiche.
Pour rendre une cellule concernée ou non par le verrouillage
cocher ou décocher la case Verrouillée dans:
Format de cellule ->Protection
Les cellules se verrouillent par défaut lors de l'appel .Protect il faut enlever la protection pour les zones modifiables comme celles des croix, ou simplement sélectionner toutes les cellules de la feuille et les déverrouiller et après celles des signatures seront protéger après la fermeture du la fiche.
Pour rendre une cellule concernée ou non par le verrouillage
cocher ou décocher la case Verrouillée dans:
Format de cellule ->Protection
Les cellules se verrouillent par défaut lors de l'appel .Protect il faut enlever la protection pour les zones modifiables comme celles des croix, ou simplement sélectionner toutes les cellules de la feuille et les déverrouiller et après celles des signatures seront protéger après la fermeture du la fiche.
Pour rendre une cellule concernée ou non par le verrouillage
cocher ou décocher la case Verrouillée dans:
Format de cellule ->Protection
Bonjour Rheeem
Bon globalement j'ai pu finaliser un document fonctionnel pour qui est du travail sur pc.
Je tente de travailler avec une tablette en réseau.
Mais ,je rencontre des problèmes avec l'ouverture de l'usf au double clic sur la'cellule.
Ça fonctionne quelques fois puis ça ne veux plus.
Après recherche,peut être lié à active x
Qui ne decharge pas l'image .
Dans l'ensemble ,les crois,les liste déroulante les date automatiques,les petits formules fonctionnement ..mais usf pas souvent
Aurais tu une piste ?
Oui si possible que le double clic échoue si la cellule contient une image vide ou invisible car une vérification est faite avant le lancement de la fiche pour détecter si une image portant le nom du range auquel elle est associée
Désactiver cette vérification dans le code de Worksheet_BeforeDoubleClick:
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If (Intersect(Target, Range("AV7, K43, AL43")) Is Nothing) = False Then
Cancel = True
SignForm.ShowForm Target
End If
End Sub
La deuxième cause possible c'est lorsque l'image déborde de la taille d la cellule alors le double clic aura lieu sur l'image et pas sur la cellule et donc l'evenement ne sera pas déclenché.. dans ce cas il faut ôter la protection et supprimer l'image manuellement pour pouvoir réutiliser le double clic
Justement j'ai évité l'utilisation de simple Paste qui génère l'objet approprié pour la signature Ink obj mais c'est un ActiveX , jai opté pour coller sous forme d'image pour rester compatible avec Excel, sinon tu peux enregistrer la signature dans un fichier puis l'importer comme image sans passer par le presse papier, ou importer les points qui forme la signature et mettez-les dans un forme libre de dessin main levée.
Dans l'ensemble ,les crois,les liste déroulante les date automatiques,les petits formules fonctionnement ..mais usf pas souvent
Aurais tu une piste ?
Sur la feuille de l'Excel tous les ActiveX sont déconseillés et peuvent planter ou désactivés, sur le userform désactive la référencer Microsoft Tablet Pc .. pas besoin de l'ajouter le contrôle est crée par CreateObject qui va renseigner par lui mème si l'ActiveX est installé ou pas
Oui si possible que le double clic échoue si la cellule contient une image vide ou invisible car une vérification est faite avant le lancement de la fiche pour détecter si une image portant le nom du range auquel elle est associée
Désactiver cette vérification dans le code de Worksheet_BeforeDoubleClick:
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If (Intersect(Target, Range("AV7, K43, AL43")) Is Nothing) = False Then
Cancel = True
SignForm.ShowForm Target
End If
End Sub
La deuxième cause possible c'est lorsque l'image déborde de la taille d la cellule alors le double clic aura lieu sur l'image et pas sur la cellule et donc l'evenement ne sera pas déclenché.. dans ce cas il faut ôter la protection et supprimer l'image manuellement pour pouvoir réutiliser le double clic
Justement j'ai évité l'utilisation de simple Paste qui génère l'objet approprié pour la signature Ink obj mais c'est un ActiveX , jai opté pour coller sous forme d'image pour rester compatible avec Excel, sinon tu peux enregistrer la signature dans un fichier puis l'importer comme image sans passer par le presse papier, ou importer les points qui forme la signature et mettez-les dans un forme libre de dessin main levée.
Sur la feuille de l'Excel tous les ActiveX sont déconseillés et peuvent planter ou désactivés, sur le userform désactive la référencer Microsoft Tablet Pc .. pas besoin de l'ajouter le contrôle est crée par CreateObject qui va renseigner par lui mème si l'ActiveX est installé ou pas
Oui j'ai pu lire differentes raisons possible qui plante le.fichier.
Notamment active x ..pas stable,
J'ai tenté avec un framedraw,imagedraw
Beaucoup de modif code mais toujours plantage
Oui si possible que le double clic échoue si la cellule contient une image vide ou invisible car une vérification est faite avant le lancement de la fiche pour détecter si une image portant le nom du range auquel elle est associée
Désactiver cette vérification dans le code de Worksheet_BeforeDoubleClick:
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If (Intersect(Target, Range("AV7, K43, AL43")) Is Nothing) = False Then
Cancel = True
SignForm.ShowForm Target
End If
End Sub
La deuxième cause possible c'est lorsque l'image déborde de la taille d la cellule alors le double clic aura lieu sur l'image et pas sur la cellule et donc l'evenement ne sera pas déclenché.. dans ce cas il faut ôter la protection et supprimer l'image manuellement pour pouvoir réutiliser le double clic
Justement j'ai évité l'utilisation de simple Paste qui génère l'objet approprié pour la signature Ink obj mais c'est un ActiveX , jai opté pour coller sous forme d'image pour rester compatible avec Excel, sinon tu peux enregistrer la signature dans un fichier puis l'importer comme image sans passer par le presse papier, ou importer les points qui forme la signature et mettez-les dans un forme libre de dessin main levée.
Sur la feuille de l'Excel tous les ActiveX sont déconseillés et peuvent planter ou désactivés, sur le userform désactive la référencer Microsoft Tablet Pc .. pas besoin de l'ajouter le contrôle est crée par CreateObject qui va renseigner par lui mème si l'ActiveX est installé ou pas
J'ai testé différents modif de codes,notamment avec imagedraw ou framedraw.
Les codes.fonctionnent sur pc mais plantent sur tablettes.
A force de recherche et de modif..je m'aperçois que sur la tablette ça fonctionne mais lorsque j'enlève l'écran du clavier pour n'avoir que la tablette seule...plus de usf signature disponible ...
En tout cas sur le.materiel que'jai.
Je pense ne pas pouvoir réussir avec cz matériel.
- 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