Calvus
XLDnaute Barbatruc
Bonsoir le forum,
A la suite d'une copie dans un nouveau classeur, je tente d'effacer les formules nommées, mais sans succès. Plantage assuré.
C'est en copiant dans un classeur créé par la macro.
Le même code (copié collé) fonctionne dans d'autres cas.
Voici le code qui génère une erreur :
Ça plante su la dernière partie, For each n...
Voici le code qui fonctionne en ouvrant un classeur existant :
Dites moi s'il est nécessaire de joindre un classeur, sachant que mon classeur est vraiment très gros et qu'il y a une quarantaine de formules nommées.
Ça va pas être de la tarte de tout refaire, et surtout je ne sais pas si ce sera représentatif du vrai classeur. Mais je le ferai si besoin.
Merci de votre aide.
A la suite d'une copie dans un nouveau classeur, je tente d'effacer les formules nommées, mais sans succès. Plantage assuré.
C'est en copiant dans un classeur créé par la macro.
Le même code (copié collé) fonctionne dans d'autres cas.
Voici le code qui génère une erreur :
VB:
Dim LePath As String, LePath2 As String, LeNom As String, fichier As String, Dossier As String, Chemin As String
On Error GoTo fin
'"C:\Users\XXXXX\Documents\0 Travail\Autre\XXXXXXX\Copie des Factures\Factures"
'Enregistrement de la feuille
LePath = "C:\Users\XXXXXXXX\Documents\0 Travail\Autre\XXXXXXXXXX\Clients\Factures\"
LePath2 = "C:\Users\XXXXXXXXXX\Documents\0 Travail\Autre\XXXXXXXXX\Copie des Factures\Factures\"
ActiveSheet.Copy
ActiveSheet.Range("L1:R140,AA1:AK100").Clear
ActiveSheet.Shapes.Range(Array("CommandButton1", "CommandButton2", _
"ToggleButton1", "ToggleButton2", "CommandButton3", "CommandButton4", "CommandButton5")).Delete
For Each c In ActiveSheet.[A1:AK132].SpecialCells(xlCellTypeFormulas, 23)
c.Value = c.Value
Next
Dim n As Name
For Each n In ActiveWorkbook.Names
n.Delete
Next n
Ça plante su la dernière partie, For each n...
Voici le code qui fonctionne en ouvrant un classeur existant :
VB:
Cells.Copy
On Error Resume Next
Workbooks("Historique Factures XXXXXXX 2016.xlsx").Activate
If Err.Number <> 0 Then
Workbooks.Open ("C:\Users\XXXXXXXXXXX\Documents\0 Travail\Autre\XXXXXXXX\Clients\Archives\Historique Factures XXXXXXXXXXX 2016.xlsx")
End If
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = nouvonglet
ActiveSheet.Paste
ActiveWindow.Zoom = 80
ActiveWindow.Columns("L:AS").Delete
For Each c In ActiveSheet.[A1:AK132].SpecialCells(xlCellTypeFormulas, 23)
c.Value = c.Value
Next
For Each n In ActiveWorkbook.Names
n.Delete
Next n
Dites moi s'il est nécessaire de joindre un classeur, sachant que mon classeur est vraiment très gros et qu'il y a une quarantaine de formules nommées.
Ça va pas être de la tarte de tout refaire, et surtout je ne sais pas si ce sera représentatif du vrai classeur. Mais je le ferai si besoin.
Merci de votre aide.