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
- Iptv erreur de lecture - Forum TV & Vidéo
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
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)