Erreur d'execution VBA

Fermé
ReAd-21 - 29 nov. 2017 à 14:04
 ReAd-21 - 29 nov. 2017 à 16:28
Bonjour,

Je rencontre des difficultés à activer une macro sur d'autres postes.
Je m'explique : une macro a été crée sur un poste. Cette macro fonctionne correctement sur ce meme poste. Lors de l'envoi du fichier avec la meme macro sur un autre poste, cette derniere ne s'active plus.
Auriez vous une idée ? Merci d'avance! :)

Private Sub Workbook_Open()
Dim Photo As Variant
Dim Gauche, Sommet, Largeur, Hauteur As Single

Photo = "C:\Users\NZDT2941\Desktop\Dossier de présentation Mairie\Excel + PowerPoint\1.jpg"
Gauche = Range("D21:F21").Left
Sommet = Range("D21:F21").Top
Largeur = Range("D21:F21").Width
Hauteur = Range("D21:F21").Height

If Photo <> False Then
Feuil1.Shapes.AddPicture Photo, True, True, Gauche, Sommet, Largeur, Hauteur

End If

Photo = "C:\Users\NZDT2941\Desktop\Dossier de présentation Mairie\Excel + PowerPoint\2.jpg"
Gauche = Range("J21").Left
Sommet = Range("J21").Top
Largeur = Range("J21").Width
Hauteur = Range("J21").Height

If Photo <> False Then
Feuil1.Shapes.AddPicture Photo, True, True, Gauche, Sommet, Largeur, Hauteur

End If

Photo = "C:\Users\NZDT2941\Desktop\Dossier de présentation Mairie\PMZ\PMZ N°1\1.JPG"
Gauche = Range("D8:16").Left
Sommet = Range("D8:D16").Top
Largeur = Range("D8:D16").Width
Hauteur = Range("D8:D16").Height

If Photo <> False Then
Feuil2.Shapes.AddPicture Photo, True, True, Gauche, Sommet, Largeur, Hauteur

End If

Photo = "C:\Users\NZDT2941\Desktop\Dossier de présentation Mairie\PMZ\PMZ N°1\2.JPG"
Gauche = Range("F8:G16").Left
Sommet = Range("F8:G16").Top
Largeur = Range("F8:G16").Width
Hauteur = Range("F8:G16").Height

If Photo <> False Then
Feuil2.Shapes.AddPicture Photo, True, True, Gauche, Sommet, Largeur, Hauteur

End If

Photo = "C:\Users\NZDT2941\Desktop\Dossier de présentation Mairie\PMZ\PMZ N°1\3.JPG"
Gauche = Range("D18:D26").Left
Sommet = Range("D18:D26").Top
Largeur = Range("D18:D26").Width
Hauteur = Range("D18:D26").Height

If Photo <> False Then
Feuil2.Shapes.AddPicture Photo, True, True, Gauche, Sommet, Largeur, Hauteur

End If

Photo = "C:\Users\NZDT2941\Desktop\Dossier de présentation Mairie\PMZ\PMZ N°2\1.JPG"
Gauche = Range("D8:D16").Left
Sommet = Range("D8:D16").Top
Largeur = Range("D8:D16").Width
Hauteur = Range("D8:D16").Height

If Photo <> False Then
Feuil3.Shapes.AddPicture Photo, True, True, Gauche, Sommet, Largeur, Hauteur

End If

Photo = "C:\Users\NZDT2941\Desktop\Dossier de présentation Mairie\PMZ\PMZ N°2\2.JPG"
Gauche = Range("F8:G16").Left
Sommet = Range("F8:G16").Top
Largeur = Range("F8:G16").Width
Hauteur = Range("F8:G16").Height

If Photo <> False Then
Feuil3.Shapes.AddPicture Photo, True, True, Gauche, Sommet, Largeur, Hauteur

End If

Photo = "C:\Users\NZDT2941\Desktop\Dossier de présentation Mairie\PMZ\PMZ N°2\3.JPG"
Gauche = Range("D18:D26").Left
Sommet = Range("D18:D26").Top
Largeur = Range("D18:D26").Width
Hauteur = Range("D18:D26").Height

If Photo <> False Then
Feuil3.Shapes.AddPicture Photo, True, True, Gauche, Sommet, Largeur, Hauteur

End If

End Sub






2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
29 nov. 2017 à 14:24
Bonjour,

Première chose.... il semble que tu aies dans ta macro .. des chemins en dur vers des fichiers
C:\Users\NZDT2941\Desktop\
... si ces chemins n'existent pas sur l'autre poste.. normal que ça ne marche pas.

Ensuite, si le souci est pûrement le lancement de la macro... as tu vérifier que l'exécution des macros est activée sur les autres ordi ?


PS: A l'avenir, merci d'utiliser les balises de code pour poster ton code sur le forum :https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

0
Bonjour Jordan45,

Merci pour ton retour.
Le chemin indiqué est bien celui du poste destinataire et l’exécution automatique des macros est également activée.
Il semblerait que le problème provienne du transfert du fichier via boite mail. Lors d'un échange via un support clé USB le problème disparait.
As tu une idée ?
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > ReAd-21
29 nov. 2017 à 16:21
La personne ouvre le fichier directement depuis sa boite mail où il l'enregistre avant sur le disque dur de son ordi ???
Si ça marche via un échange sur clé USB... cela signifie que le fichier n'est pas en cause !
Moi je pencherai pour un souci de sécurité de son Anti-virus et/ou de son ordi.
Rien à voir avec le code de la macro.
0
ReAd-21 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
29 nov. 2017 à 16:28
la personne enregistre le fichier sur poste avant de l'ouvrir.
Nous avons tous deux les même PC, même config, même protection...
Je continu mes recherches, si tu as une idée je suis fortement preneur.

Merci
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié le 29 nov. 2017 à 15:18
Bonjour ReAd-21,
Bonjour Jordane

Le test suivant ne fonctionne pas (toujours vrai) :
If Photo <> False Then

A remplacer par :
If Dir(Photo) <> "" Then


Cordialement
Patrice
0
Bonjour Patrice,

Merci pour ton retour.
Je vais modifier ce code, mais actuellement cela ne semble pas poser de problème. Je vais tout de même intégrer tes conseils et essayer à nouveau.
0