Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 01/07/2009, 09h04   #1
Nouveau Membre du Club
 
Étudiant
Inscription : mai 2009
Messages : 110
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2009
Messages : 110
Points : 27
Points : 27
Par défaut saveas workbook excel

bonjour,

je souhaite enregistrer mon dossier avec un autre nom ou sous un autre repertoire, etant novice en VBA je me suis inpiré d'un forum que j'ai trouver sur le net, voila ce que j'ai fait:

Code :
1
2
3
4
5
6
Dim objExcel As Object, objWorksheet As Object
Set objExcel = CreateObject("Excel.Application")
WordbookName= "c:\monFichier.xls"
objExcel.ActiveWorkbook.PublishObjects.Add _
     (Excel.xlSourceSheet, WordbookName, objWorksheet, "", _
      Excel.ThisWorkbook).Publish
mais ça ne marche pas et j'ai l'erreur suivante, dans la derniere instruction:
erreur d'execution '91':
variable objet ou variable de bloc With non definie

quel est votre avis?
Djawida est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2009, 09h18   #2
Membre Expert
 
Avatar de Krovax
 
Inscription : juillet 2008
Messages : 1 889
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : juillet 2008
Messages : 1 889
Points : 1 937
Points : 1 937
Heu beaucoup plus simple

Code :
ActiveWorkbook.SaveAs "c:\monFichier.xls"
Si ca ne fonctionne pas, lance l'enregistreure de macro et fait enregistrer sous
Krovax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2009, 09h31   #3
Nouveau Membre du Club
 
Étudiant
Inscription : mai 2009
Messages : 110
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2009
Messages : 110
Points : 27
Points : 27
Merci
ça marche bien seulement, si le fichier monfichier.xls existe déjà j'obtient la boite de dialog ma demandant si je veux le remplacer! est ce qu'il ya un moyen d'eviter ça?
Djawida est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2009, 09h47   #4
Membre Expert
 
Avatar de Fvandermeulen
 
Frédéric Vandermeulen
Inscription : juillet 2007
Messages : 1 716
Détails du profil
Informations personnelles :
Nom : Frédéric Vandermeulen
Âge : 36
Localisation : Belgique

Informations forums :
Inscription : juillet 2007
Messages : 1 716
Points : 2 108
Points : 2 108
Salut Djawida,
Comme Krovax semble ne pas être connecté, je me permets...

Pour éviter ça tu peux utiliser SendKeys (je te laisse voir l'aide) ou DisplayAlerts (voir code ci-dessous) à mettre en début de code et à la fin pour réactiver.

Code :
1
2
3
4
5
Application.DisplayAlerts = False 'désactive les fenêtres d'alertes
 
'...Ton code
 
Application.DisplayAlerts = True 'Réactive les fenêtres d'alertes !! super important de bien réactiver.
A+

Edit: Salut Krovax, le temps d'écire la réponse et tu es connecté
__________________
N'oubliez pas le si votre problème est solutionné.
Fvandermeulen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2009, 09h50   #5
Membre Expert
 
Avatar de aalex_38
 
Inscription : septembre 2007
Messages : 1 570
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 1 570
Points : 1 709
Points : 1 709
Essai avec (pas testé)


Code :
Application.displayalerts = false
__________________
aalex_38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2009, 10h03   #6
Membre Expert
 
Avatar de Krovax
 
Inscription : juillet 2008
Messages : 1 889
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : juillet 2008
Messages : 1 889
Points : 1 937
Points : 1 937
Citation:
Envoyé par Fvandermeulen Voir le message
Edit: Salut Krovax, le temps d'écire la réponse et tu es connecté
Je trouve ca normale que l'on réponde même si j'ai attaqué le suivit surtout quand je n'ai pas mieux a proposer (ce qui est relativement fréquent) et c'est ce qui permet au forum d'être si réactif (enfin c'est une vision personnel des choses peut être). Après c'est a la personne qui pose la question de se débrouiller pour suivre les différente pistes proposées, faut bien les faire bosser un peu non?
Krovax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2009, 11h11   #7
Nouveau Membre du Club
 
Étudiant
Inscription : mai 2009
Messages : 110
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2009
Messages : 110
Points : 27
Points : 27
oui Krovax, ça ma bien fait bosser
la methode de Fvandermeulen marche tres bien parcontre celle aalex_38 n'a pas fonctionné

Merci à tous
Djawida est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2009, 11h14   #8
Membre Expert
 
Avatar de Krovax
 
Inscription : juillet 2008
Messages : 1 889
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : juillet 2008
Messages : 1 889
Points : 1 937
Points : 1 937
C'est la meme méthode sauf que aalex n'a pas détaillé son utilisation
Krovax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2009, 14h22   #9
Membre Expert
 
Avatar de aalex_38
 
Inscription : septembre 2007
Messages : 1 570
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 1 570
Points : 1 709
Points : 1 709
Citation:
la methode de Fvandermeulen marche tres bien parcontre celle aalex_38 n'a pas fonctionné
Ca alors, heureusement que Fvandermeulen etait là


Citation:
C'est la meme méthode sauf que aalex n'a pas détaillé son utilisation
Alors, en bonus les modules desactive et active que j'appelle en début et en fin de procédure :

Code :
1
2
3
4
5
Sub Desactive()
Application.DisplayAlerts = False     'Arret des alertes
Application.ScreenUpdating = False    'Arret rafraichissement ecran
ActiveSheet.EnableCalculation = False 'Evite le re-calcul de feuil1
End Sub

Code :
1
2
3
4
5
6
Sub Active()
Application.DisplayAlerts = True
ActiveSheet.EnableCalculation = True
Calculate
Application.ScreenUpdating = True
End Sub
__________________
aalex_38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 12h11.


 
 
 
 
Partenaires

Hébergement Web