Macro VBA dans Excel pour DRAW + Selection d'un Pencil

Anonyme
2025-03-16T09:44:06+00:00

J'essaie, mais sans succès, de reproduire ce que je peux faire au moyen de la souris ... A savoir :

  1. Sélection de DRAW
  2. Sélection d'un Drawing Tools (par exemple : pencil 1mm)

pour ensuite pouvoir aller signer une zone de la feuille Excel.

Je n'ai pas trouvé les instructions qui permettent d'atteindre cet objectif soit en simulant ce que j'ai décrit ci-dessus, soit en allant directement dans Excel pour obtenir la sélection du pencil et son usage pour signer dans une zone.

J'ai très souvent le code erreur 348 (parfois le 1004 selon mes versions de tests)

Ci après, ma dernière tentative pour donner une idée globale de ce que je souhaite réaliser ... tout fonctionne, SAUF ... :

Sub EnableDrawMode()

Dim ws As Worksheet 

Set ws = ActiveSheet 

' Déprotéger temporairement la feuille (modifier le mot de passe si nécessaire) 

ws.Unprotect 

' Désactiver les volets figés si nécessaire 

If ActiveWindow.FreezePanes Then 

    ActiveWindow.FreezePanes = False 

End If 

' Zoom à 150% pour mieux voir la zone de signature 

' ActiveWindow.Zoom = 150 

' Sélectionner la cellule de signature R19 (zone de signature) 

' ws.Range("R19").Select 

' Attendre un instant pour laisser le temps d'effectuer les changements visuels 

Application.Wait Now + TimeValue("00:00:2") 

' Afficher un message pour indiquer que vous pouvez maintenant signer 

MsgBox "Vous pouvez maintenant signer ! Pensez à reprotéger la feuille après la signature.", vbInformation, "Signature" 

' Ouvrir l'onglet Draw avec un délai plus long pour l'affichage 

Application.SendKeys "%J" ' ALT + J pour ouvrir l'onglet Draw 

Application.Wait Now + TimeValue("00:00:5") ' Attendre 5 secondes pour voir si l'onglet Draw s'ouvre 

' Vérifier si l'onglet "Draw" est bien actif 

On Error Resume Next 

Dim drawTab As Object 

Set drawTab = Application.CommandBars("Ribbon").FindControl(ID:="TabDraw") 

On Error GoTo 0 

If Not drawTab Is Nothing Then 

    MsgBox "L'onglet Draw est activé", vbInformation, "Draw Activé" 

Else 

    MsgBox "L'onglet Draw n'a pas pu être activé", vbCritical, "Erreur" 

    Exit Sub 

End If 

' Sélectionner le crayon noir 1mm 

On Error Resume Next 

Application.CommandBars.ExecuteMso "PenBlack\_1mm" ' Sélectionner le crayon 1mm 

On Error GoTo 0 

' Vérifier si le crayon a bien été sélectionné 

If Application.CommandBars("Ribbon").FindControl(ID:="PenBlack\_1mm").Enabled Then 

    MsgBox "Le crayon est sélectionné, vous pouvez maintenant signer.", vbInformation, "Crayon sélectionné" 

Else 

    MsgBox "Impossible de sélectionner le crayon, vérifiez si l'onglet Draw est actif.", vbCritical, "Erreur" 

End If 

End Sub

Microsoft 365 et Office | Installer, entrer des clés, activer | Autres | Autres

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

1 réponse

  1. Anonyme
    2025-03-17T02:54:45+00:00

    Cette réponse a été automatiquement traduite. Par conséquent, il peut y avoir des erreurs grammaticales ou des formulations étranges.

    Bonjour JFThiébaud,  Merci de visiter la communauté Microsoft.Nous comprenons le problème que vous rencontrez. Cette question est plus adaptée à la publication sur Stack Overflow  (en anglais uniquement).Publiez des questions de programmation VBA sur Stack Overflow à l’aide de la balise vba, ainsi que de toute autre balise pertinente.Veuillez noter que Stack Overflow a des directives telles que l’exigence d’un titre descriptif, d’un énoncé de problème complet et concis et de suffisamment de détails pour reproduire votre problème. Les demandes de fonctionnalités ou les questions trop larges sont considérées comme hors sujet.Avis de non-responsabilité : Microsoft ne fournit aucune assurance et/ou garantie, implicite ou autre, et n’est pas responsable des informations que vous recevez des sites tiers liés ou de tout support lié à la technologie.Carlos - MSFT | Spécialiste du support communautaire Microsoft

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire