Macro ne fonctionne qu'en pas à pas
caravanevba
Messages postés
10
Statut
Membre
-
caravanevba Messages postés 10 Statut Membre -
caravanevba Messages postés 10 Statut Membre -
Bonjour,
j'ai trouvé cette macro sur internet qui fonctionne très bien en pas à pas, mais quand je la lance depuis le bouton, ça ne copie rien et je me retrouve avec un fichier JPG complètement blanc...
Pouvez vous m'aider please :-)
j'ai trouvé cette macro sur internet qui fonctionne très bien en pas à pas, mais quand je la lance depuis le bouton, ça ne copie rien et je me retrouve avec un fichier JPG complètement blanc...
Pouvez vous m'aider please :-)
Sub photo()
Sheets("services").Activate
Dim S As Range
Set S = ActiveSheet.Range("A1:D24")
S.CopyPicture
Application.ScreenUpdating = False
Sheets.Add
ActiveSheet.Name = "photo"
With Sheets("photo").ChartObjects.Add(0, 0, S.Width, S.Height).Chart
.Paste
.Export "C:\Users\PAVILION\Desktop\services.jpg", "JPG"
End With
Application.DisplayAlerts = False
Sheets("photo").Delete
Application.DisplayAlerts = True
ActiveWorkbook.Save
End Sub
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Les fonctionnalités suivantes ne peuvent pas être enregistrées dans des classeurs sans macro
- Suivi des modifications word - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Mes photos enregistrées - Guide
- Images enregistrées - Forum Blender
- Appliquez à tous les paragraphes du document à télécharger, à l’exception des titres et des sous-titres, la mise en forme suivante : chaque paragraphe doit être espacé de 0,42 cm ou 12 pt du paragraphe qui suit les textes ne doivent pas être en retrait à droite et à gauche après ces modifications, sur quelle page se trouve le titre « la cheminée » dans le chapitre « informations diverses » ? ✓ - Forum Word
3 réponses
Bonjour,
Tu as sans doute mis ta macro dans un module, si tu la mets dans ta feuille "services" elle devrait fonctionner.
Tu as sans doute mis ta macro dans un module, si tu la mets dans ta feuille "services" elle devrait fonctionner.
Merci beaucoup d'avoir mis les colorations etc, en fait, mon problème est que je n'ai pas pu sélectionner vba dans le menu code... Il n'y avait pas d'ascenseur pour aller au delà de s...
Bonjour,
Dans ton cas, comme je t'ai dit il est préférable de garder ta macro dans le module. Avec ton code, la copie se perdait, alors je te propose celui-ci, pas très différent mais qui fonctionne me semble-t-il correctement.
Dans ton cas, comme je t'ai dit il est préférable de garder ta macro dans le module. Avec ton code, la copie se perdait, alors je te propose celui-ci, pas très différent mais qui fonctionne me semble-t-il correctement.
Sub photo()
Dim S As Range, ws As Worksheet
Set ws = Sheets("services")
Set S = ws.Range("A1:D24")
Application.ScreenUpdating = False
Sheets.Add
With ActiveSheet.ChartObjects.Add(0, 0, S.Width, S.Height).Chart
ws.Range("A1:D24").CopyPicture
.Paste
.Export "C:\Users\PAVILION\Desktop\services.jpg", "JPG"
End With
Application.DisplayAlerts = False
ActiveSheet.Delete
Set ws = Nothing
Set S = Nothing
Application.DisplayAlerts = True
ActiveWorkbook.Save
End Sub
bonjour,
désolée réponse un peu tardive mais le speed de la semaine avec les enfants... bref,
J'ai essayé ta proposition et ça ne marche malheureusement pas mieux...
Par contre un truc étrange s'est produit :
J'ai mis la macro sur un autre ordi sans changer le code et tout s'est bien passé. Puis au moment de faire la mise à jour (l'idée de cette macro c'est de mettre à jour un fichier excel puis de prendre une photo du résultat), et bien ça n'a pas marché.
Donc, je me demande si en rajoutant dans le code de commencer par effacer le dernier fichier JPG ça ne pourrait pas marcher...
Je teste et je te dis...
Merci pour tes conseils gbinforme
désolée réponse un peu tardive mais le speed de la semaine avec les enfants... bref,
J'ai essayé ta proposition et ça ne marche malheureusement pas mieux...
Par contre un truc étrange s'est produit :
J'ai mis la macro sur un autre ordi sans changer le code et tout s'est bien passé. Puis au moment de faire la mise à jour (l'idée de cette macro c'est de mettre à jour un fichier excel puis de prendre une photo du résultat), et bien ça n'a pas marché.
Donc, je me demande si en rajoutant dans le code de commencer par effacer le dernier fichier JPG ça ne pourrait pas marcher...
Je teste et je te dis...
Merci pour tes conseils gbinforme
Merci pour ta réponse rapide, c'est top !
Pour tout dire ceci est un bout de macro. Toute la macro fonctionne impeccablement, mais ce bout ne fonctionne qu'en mode pas à pas. Du coup je l'ai enlever du module où j'ai ma macro pour le mettre dans un autre module et faire un call sur ma macro racine.
J'aimerais bien essayer de mettre ma macro sur une feuille, mais je ne sais pas du tout comment faire, peux tu me donner quelques explications complémentaires ?
Merci encore :-)
Du coup je l'ai enlever du module où j'ai ma macro pour le mettre dans un autre module et faire un call sur ma macro racine.
Effectivement, je n'avais pas essayé le call !
Si avec le call elle fonctionne tu devrais pouvoir la garder dans le même module, ce qui est préférable au positionnement dans la feuille.
Le non fonctionnement vient sans doute d'un adressage incomplet (qui est réalisé du fait du pas à pas) mais je ne vois pas comment le compléter.
bonne soirée.
En fait le call ne marche pas c'est pour ça que j'ai posté ma question :-)
Donc si tu peux m'expliquer comment mettre une macro dans une feuille, je pourrai essayer ?
Si quelqu'un d'autre a une idée, surtout n'hésitez pas, lol !!
Bonne journée à tous,