Macro ne fonctionne plus..
Résolu
Carooooooo
Messages postés
39
Date d'inscription
Statut
Membre
-
Carooooooo Messages postés 39 Date d'inscription Statut Membre -
Carooooooo Messages postés 39 Date d'inscription Statut Membre -
Bonjour,
Voici ma macro qui permet de copier coller des valeurs avec un collage spécial puis elle enregistre le fichier sous un nom (qui est dans Z8) dans un répertoire particulier.. Quand j'exécute la macro ça fait planter mon ordi..pourtant ça avait marché les premières fois..
Sub Enregistreretcoller()
Range("Z4").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("A1:T6").Select
Range("P1").Activate
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("E10").Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("R8").Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("E12").Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveWindow.SmallScroll Down:=24
Range("A43:T55").Select
Range("L43").Activate
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Dim fichier As String
fichier = "K:\Mes Documents\Documents\00 XXXXX\00 XXX\1010 XXX\blab blabla\" & [Z8].Value & ".xls"
ActiveWorkbook.SaveAs ([fichier])
MsgBox ("Le fichier a été enregistré sous " & fichier)
End Sub
Est-ce que quelqu'un a une idée du problème?
Voici ma macro qui permet de copier coller des valeurs avec un collage spécial puis elle enregistre le fichier sous un nom (qui est dans Z8) dans un répertoire particulier.. Quand j'exécute la macro ça fait planter mon ordi..pourtant ça avait marché les premières fois..
Sub Enregistreretcoller()
Range("Z4").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("A1:T6").Select
Range("P1").Activate
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("E10").Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("R8").Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("E12").Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveWindow.SmallScroll Down:=24
Range("A43:T55").Select
Range("L43").Activate
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Dim fichier As String
fichier = "K:\Mes Documents\Documents\00 XXXXX\00 XXX\1010 XXX\blab blabla\" & [Z8].Value & ".xls"
ActiveWorkbook.SaveAs ([fichier])
MsgBox ("Le fichier a été enregistré sous " & fichier)
End Sub
Est-ce que quelqu'un a une idée du problème?
Configuration: Windows XP Internet Explorer 6.0
7 réponses
-
bonjour
Pour le "fun" voici ce que pourrait être ta macroSub Enregistreretcoller() Range("Z4").Value = Range("Z4").Value Range("P1").Value = Range("P1").Value Range("E10").Value = Range("E10").Value Range("R8").Value = Range("R8").Value Range("E12").Value = Range("E12").Value Range("L43").Value = Range("L43").Value Dim fichier As String, suffixe As Variant fichier = "K:\Mes Documents\Documents\00 XXXXX\00 XXX\1010 XXX\blab blabla\" & [Z8].Value While Dir(fichier & suffixe & ".xls") <> "" suffixe = suffixe + 1 Wend ActiveWorkbook.SaveAs (fichier & suffixe & ".xls") MsgBox ("Le fichier a été enregistré sous " & fichier & suffixe & ".xls") End Sub -
Mince !! autant pour moi c'est moi qui marche pas bien...
En faite la macro marche...sauf que quand le fichier existe déjà ça fait planté excel.. est-ce que c'est possible qu'il vérifie si le fichier existe déjà et que si c'est le cas il l'enregistre avec un ti indice(n'importe quoi: l'heure, un chiffre entre 1 et 20, une lettre de a à K)? -
Pllllllleeeeeeeeeeeeeeeeeeaaaaaaaaaaaaaaaaaaaaasssseeeeeeeeeeee Help meeeeeeeeeee
-
bonjour
Mis à part le fait de faire une sauvegarde, cette macro ne sert qu'à se promener dans le classeur?
Cette sauvegarde peut donc être modifiée ainsi :Dim fichier As String fichier = "K:\Mes Documents\Documents\00 XXXXX\00 XXX\1010 XXX\blab blabla\" & [Z8].Value & ".xls" If Dir(fichier) <> "" Then fichier = "K:\Mes Documents\Documents\00 XXXXX\00 XXX\1010 XXX\blab blabla\" & [Z8].Value & Format(Time, "hh_mm_ss") & ".xls" End If ActiveWorkbook.SaveAs (fichier) MsgBox ("Le fichier a été enregistré sous " & fichier) -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Merci beaucoup^^
c'est super bien ce que t'as fait..et pour comprendre mieux en faite..moi au début j'avais essayé de mettre un indice genre A:
fichier = "K:\Mes Documents\Documents\00 XXXXX\00 XXX\1010 XXX\blab blabla\" & [Z8].Value & "A" & ".xls"
Pourquoi ça ne marchait pas?
En faite mon fichier il sert juste comme t'as dit à enregistrer et aussi à faire des copier coller de valeurs pour supprimer certaines formules qui font un lien vers un autre fichier...
Mais déjà et encore merci..t'assures^^ -
bonjour
aussi à faire des copier coller de valeurs pour supprimer certaines formules
Pour cela tu peux remplacer ceciRange("Z4").Select Selection.Copy Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=Falsepar cela qui fait de même en bien plus simpleRange("Z4").Value = Range("Z4").Value-
Un gars de ma boite vient de ma donner la solution la et ça marche aussi pas mal ^^
Merci à toi en tout cas ^^
Dim Fichier As String
Dim FichierVerif As String
Dim Extension As String
Dim i As Integer
i = 1
Extension = ".xls"
Fichier = "C:\Mes documents\" & [Z8].Value
If PresenceFichier(Fichier & Extension) = False Then ' fichier non existant
Fichier = Fichier & Extension
ActiveWorkbook.SaveAs ([Fichier])
MsgBox ("Le fichier a été enregistré sous " & Fichier)
Else
FichierVerif = Fichier
Do While PresenceFichier(FichierVerif & Extension) = True
i = i + 1
FichierVerif = Fichier & "_" & i
Loop
Fichier = Fichier & "_" & i & Extension
ActiveWorkbook.SaveAs ([Fichier])
MsgBox ("Le fichier a été enregistré sous " & Fichier)
End If
End Sub
Public Function PresenceFichier(Fichier As String) As Boolean
On Error Resume Next
Dim taille As Long
taille = FileLen(Fichier)
PresenceFichier = Not (Err.Number > 0)
On Error GoTo 0
End Function
-
-
bonjour
Effectivement, pourquoi ne pas faire compliqué quand on peut faire simple...
"il semble que la perfection soit atteinte non quand il n'y a plus rien à ajouter, mais quand il n'y a plus rien à retrancher. "
Terre des hommes (1938), Antoine de Saint-Exupéry