J'ai un probleme avec une macro ecxel .
Cette macro execute un graphique 3d de surface, et sa premiere ligne de code est : Range("B2:AG23").Select .
Jusqu'ici tout va bien , la ou sa se corse c'est la deuxime fois que j'exécute cette macro , dans mon code , la méthode range échou et je cherche comme régler se probleme ???
Plus clairement, la faut ce du faite que tu lance "Range"(ou Select...) directement sans dire à quelle objet Excel se refaire t 'elle, mais si tu précise l'objet, il n'y aura pas des échoues.
Donc votre code devrait être comme suit:
(Je supposai que l'objet Excel crée s 'appel xlapp)
If Graphique3D.Temps_Fixe = True Then
xlApp.Range("B2:AG43").Select '!!!!!!!!
Charts.Add
xlapp.ActiveChart.ChartType = xlSurfaceWireframe '!!!!!!!!!
ActiveChart.SetSourceData Source:=xlapp.Sheets("Feuil1").Range("B2:AG43"), PlotBy _
:=xlColumns '!!!!!!!!!!
Else
Je suis désoler de devoir te dire sa mais cela ne fonction pas plus qu'avant.
En ajoutant Xlapp.... en avant , il ne le prend pas . Et cela meme si c'est la premier fois qu'il y passe .
Je devrai pt te donné le source au complet (Pas trop gros) ??
Je revien demain !!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Dit moi, le macro est executé ou?
si se macro est dans Excel alors je te propose de copier leur code dans une feuille d'un nouveau projet VB,puis
tu declare à l'entete du code de la feuille :
Dit moi, le macro est exécuté ou?
si se macro est dans Excel alors je te propose de copier leur code dans une feuille d'un nouveau projet VB,puis
tu déclare à l’entête du code de la feuille :
Dim MyXlApp as Excel.Application
Puis :
sub YourMacro()
' ici le code de macro
' ....
MyXlApp.Range(......
End Sub
càd, tu va précédé tout les lignes de code qui débute par de fonctions Excel
par MyXlApp.LaFonction
Et bon chance!
N.B: Je bien rencontre votre problème, et elle ma fait tournée la tète, mais avec cette solution je réussi de le contournée.
J'ai commencer a créer la macro avec Excel et je l'ai ensuite coller dans Vb.
Mon programme l'appel et génère un graphique. Ensuite si je lui fait executer cette macro une deuxime fois , elle plante a la premiere ligne .
J'ai essayer de mettre Xlapp.. Devant 'range' comme tu m'as la conseiller , mais aucun resultas!!
J'espère que ton aide me sera utile car cela fait un bout que je cherche comment régle ce problème.
OUI
Bon jour
En cas où on veut rexecuter la procedure, alors il faut supprimer
le graph pour que la feuille recupere le caracteristique d'une feuille de
calcule,
et comme sa on peut utiliser la méthode Range qui renvoi une plage de la
feuille(une ou
plusieures cellules), sinon cette méthode echoue puisque la feuille est un
graph et non pas une feuille de calcul !.