selection / suppression feuille d'un autre classeur ne fonctionne pas

  • Initiateur de la discussion Initiateur de la discussion nicot
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

nicot

XLDnaute Nouveau
Bonjour,

je souhaite à partir d'un fichier A exécuter une macro qui liste les données récupérer dans n fichiers.
puis les insérer dans une feuille d'un autre fichier xls.

tout ça marche, mais je voudrais ajouter des tests comme si la feuille de destination existe déjà, je la supprime puis je la recréer. et c'est la que j'ai un problème, la macro passe bien dans le code:

Code:
Application.DisplayAlerts = True
testSuppr = wbExcel.Sheets(nomOngletExportFdt).Delete
Application.DisplayAlerts = True

mais ne parviens pas à exécuter le delete.


Lorsque je passe dans le second import (l'onglet d'export existe déjà), je ne peux pas faire la selection d'un onglet dans le fichier de paie. et je ne comprends pas pourquoi

Je met mon fichier A en pièce jointe ainsi qu'un exemple de fichier CSV générer par la première étape (où il faut remettre l'extension .csv).

PS: ca n'a peut etre pas de rapport mais j'ai un comportement bizarre lorsque je fais du debug et que j'ajoute des espions, il me demande parfois de configurer outlook 2007 (pas configurer sur mon poste).

Merci d'avance de votre aide, car je cherche depuis 2 jours sur divers forum une solution mais rien ne fonctionne.
 

Pièces jointes

Re : selection / suppression feuille d'un autre classeur ne fonctionne pas

Bonjour,

(sans regarder tes fichiers)


VB:
Sub test()
Dim Wk As Workbook

'Cette ligne suppose que le classeur est ouvert
On Error Resume Next
Set Wk = "Classeur2.xls"
If Err <> 0 Then 'Si une erreur est générée
    'Le classeur était fermé, il faut l'ouvrir
    Err = 0
    'Pour l'ouvrir
    Set Wk = Workbooks.Open("CheminDuClasseur & " \ " & NomDuFichier.xls")
End If

'Pour supprimer une feuille du classeur que l'on vient d'ouvrir

Application.DisplayAlerts = True
'Je suppose que nomOngletExportFdt est le nom de la variable
'contenant le nom de la feuille. Si tu passes le nom de la
'feuille en dure, tu dois mettre ce nom entre guillemets
Wk.Sheets(nomOngletExportFdt).Delete
Application.DisplayAlerts = True

'Attention, si le CLASSEUR est protégé, cela ne fonctionnera pas!
End Sub
 
Re : selection / suppression feuille d'un autre classeur ne fonctionne pas

cela ressemble beaucoup a ce que j'ai fait mais dans le doute j'ai essayé mais j'ai l'erreur "Incompatibilité de type", lorsque je lance la macro sur le Set Wk = ...
 
Re : selection / suppression feuille d'un autre classeur ne fonctionne pas

merci ca fonctionne.

la différence avec mon code était que j'utilisais:

Dim appExcel As Excel.Application
Set appExcel = CreateObject("Excel.Application")

Set wbPresence = appExcel.Workbooks.Open(cheminFichier)


C'est quand même pervers ce appExcel!!!

Merci à toi MichD!
 
Re : selection / suppression feuille d'un autre classeur ne fonctionne pas

Dim appExcel As Excel.Application
Set appExcel = CreateObject("Excel.Application")

Ceci crée une seconde instance totalement distincte de la première
d'où les difficultés que tu as connues.

Il y a aussi ceci, une variable de type application qui pointe sur l'application
déjà ouverte ou qui ouvre une nouvelle instance si Excel n'est pas déjà ouvert...

VB:
Sub Test()

Dim Xl As Object
Dim Wk As Workbook

'On Error Resume Next
Set Xl = GetObject(, "Excel.Application")
If Err <> 0 Then
    Err = 0
    'Excel est fermé, création d'une instance d'excel
    Set Xl = CreateObject("Excel.Application")
    Xl.Visible = True
End If

Set Wk = Xl.Workbooks("Classeur3")
MsgBox Wk.Name
'le reste du code

End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour