Erreur 9
cam75
-
pilas31 Messages postés 1878 Statut Contributeur -
pilas31 Messages postés 1878 Statut Contributeur -
Bonjour,
Je voudrai ouvrir un fichier excel fermé sur le bureau et déplacer l'onglet de la feuille 1 vers le fichier excel ouvert pour remplacer l'onglet 1 du fichier 1 par celui du fichier fermé
Mon code est le suivant (mais j'ai l'erreur 9 qui apparaît en surlignant la dernière ligne de code)
Merci par avance pour vos suggestions
Cordialement
Cam
Je voudrai ouvrir un fichier excel fermé sur le bureau et déplacer l'onglet de la feuille 1 vers le fichier excel ouvert pour remplacer l'onglet 1 du fichier 1 par celui du fichier fermé
Mon code est le suivant (mais j'ai l'erreur 9 qui apparaît en surlignant la dernière ligne de code)
Dim continue As String
If Sheets(1).Name = "CPTES DIANE" Then
continue = MsgBox(prompt:="ANAFI contient déja un onglet comportant des données importées de DIANE. Voulez-vous continuer et supprimer cet onglet?", Buttons:=vbYesNo, Title:="Attention")
If continue = vbYes Then
Sheets(1).Delete
ElseIf continue = vbNo Then Exit Sub
End If
End If
Workbooks.Open (Fichier)
Workbooks(Fichier).Sheets(1).Move Before:=Workbooks(ANAFI_Name).Sheets(1)
Workbooks(ANAFI_Name).Sheets(1).Name = "CPTES DIANE"
Workbooks(Fichier).Close savechanges:=False
Merci par avance pour vos suggestions
Cordialement
Cam
A voir également:
- Erreur 9
- Erreur t32 ✓ - Forum Livebox
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur 0x80070643 - Accueil - Windows
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
2 réponses
Bonjour,
Cette macro est curieuse car il exécute les dernières instructions même si le premier IF donne faux.
Il me semble plus logique de coder comme cela :
A tester
Cette macro est curieuse car il exécute les dernières instructions même si le premier IF donne faux.
Il me semble plus logique de coder comme cela :
Dim continue As String
If Sheets(1).Name = "CPTES DIANE" Then
continue = MsgBox(prompt:="ANAFI contient déja un onglet comportant des données importées de DIANE. Voulez-vous continuer et supprimer cet onglet?", Buttons:=vbYesNo, Title:="Attention")
If continue = vbYes Then
Sheets(1).Delete
Workbooks.Open (Fichier)
Workbooks(Fichier).Sheets(1).Move Before:=Workbooks(ANAFI_Name).Sheets(1)
Workbooks(ANAFI_Name).Sheets(1).Name = "CPTES DIANE"
Workbooks(Fichier).Close savechanges:=False
End If
End If
A tester
Re Bonsoir,
Il y a une erreur de syntaxe sur le Activate suggéré par pijaku (que je salue au passage).
Je pense que c'est le Move qui perturbe. Essayer avec ces 4 lignes à la fin avec Copy à la place de Move
Cordialement,
Il y a une erreur de syntaxe sur le Activate suggéré par pijaku (que je salue au passage).
Je pense que c'est le Move qui perturbe. Essayer avec ces 4 lignes à la fin avec Copy à la place de Move
Workbooks.Open (Fichier) Workbooks(Fichier).Sheets(1).Copy Before:=Workbooks(ANAFI_Name).Sheets(1) Workbooks(ANAFI_Name).Sheets(1).Name = "CPTES DIANE" Workbooks(Fichier).Close savechanges:=False
Cordialement,
Essayez en rendant Workbooks(fichier) actif :
Workbooks(ANAFI_Name).Sheets(1).Name = "CPTES DIANE" Workbooks(Fichier).Activate 'ou .Select, je ne sais plus... Workbooks(Fichier).Close savechanges:=False'I°/Rapatriation des comptes DIANE dans un onglet de ANAFI nommé "DIANE" '1°/ Localisation du fichier sur le PC Call MsgBox(prompt:="Veuillez sélectionner le fichier Excel contenant les comptes complets de la société étudiée exportés de DIANE", Buttons:=vbInformation & vbOKOnly, Title:="Bienvenue") Dim Emplacement As String Emplacement = Application.GetOpenFilename("Fichiers Excel, *.xls") If Emplacement = "Faux" Then Exit Sub '2°/ Récupération du nom du fichier Dim Fichier As String Dim i As Integer Dim FichierSansExtension As String For i = Len(Emplacement) To 1 Step -1 If Mid(Emplacement, i, 1) = "\" Then Exit For Next i Fichier = Mid(Emplacement, i + 1, Len(Emplacement)) FichierSansExtension = Mid(Fichier, 1, Len(Fichier) - 4)