Erreur 1004- erreur défini par l'application ou par l'objet
Bonjour à tous.
J'ai un code qui fonctionnait au début et maintenant dès que je cherche à l’exécuter j'ai un message du genre :
'erreur 1004"
Erreur défine par l'application ou par l'objet.
J'ai une bade jaune au niveau de cette ligne : " ActiveSheet.Name = mySN "
Merci de votre aide précieuse!
'Création de feuille par projet
Sub Dispatch()
Application.ScreenUpdating = False
Dim myRange As Range, mySheet As Worksheet, mySN As String, myH As Range
Sheets("TCD").Select
Set mySheet = ActiveSheet
Set myH = Range(Range("A4"), Cells(4, Columns.Count).End(xlToLeft))
dercol = Cells(4, Columns.Count).End(xlToLeft).Column
'myH.Select
n1 = Len(Range("A5").Value) - 31 + 1
n2 = 1
n3 = Application.Max(n1, n2)
mySN = Mid(Range("A5").Value, n3)
Set myRange = ActiveCell
'mySN = ActiveCell
Do Until ActiveCell = "Total général"
If Not ActiveCell.Offset(1, 0) Like "**/**/****" Then
Range(myRange, ActiveCell).Rows.EntireRow.Copy
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = mySN ' l'erreur se trouve ici !!!!!!!!!!!!!!!!!!!!!!!!!!!
Range("A2").PasteSpecial
myH.Copy
Range("A1").PasteSpecial
Application.CutCopyMode = False
Columns("A:H").EntireColumn.AutoFit
For a = myH.Cells.Count To 2 Step -1
If Cells(Rows.Count, a).End(xlUp).Row = 1 Then
Cells(Rows.Count, a).Columns.EntireColumn.Delete
End If
Next a
'suppression de la dernière colonne "TOTAL général"
colonne = ActiveSheet.UsedRange.Columns.Count
For i = colonne To 1 Step -1
If Cells(1, i) = "Total général" Then Columns(i).Delete
Next i
'Insertion d'une colonne pour décaler le tableau d'une colonne à droite
'Columns("A:A").Select
'Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("2:2").Copy
Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial
Application.CutCopyMode = False
Selection.Font.Bold = True
Range("2:2").Delete
mySheet.Activate
Set myRange = ActiveCell.Offset(1, 0)
n1 = Len(ActiveCell.Offset(1, 0)) - 31 + 1
n2 = 1
n3 = Application.Max(n1, n2)
mySN = Mid(ActiveCell.Offset(1, 0), n3)
End If
ActiveCell.Offset(1, 0).Select
Loop
Application.ScreenUpdating = True
End SubBonjour,
Une piste : je remarque que le nommage de la feuille est inclus dans une boucle Do Until ... Loop.
Si la condition est satisfaite plusieurs fois, il ne faut pas que le programme demande à nommer 2 feuilles avec le même nom, sinon Erreur 1004.
A+
Bonjour
J'ai actuellement la meme erreur et encore une fois dans une boucle do until (meme quand j'essaye avec while) loop,
j'ai calculé auparavant la valeur d'un rapport et j'essaye a l'aide de cette boucle de trouver la premiere valeur dans ma liste supérieure
a mon rapport pour la définir, et continuer mon programme. (j'ai copié la partie qui "pose probleme" dans MODULE1)
Merci d'avance pour votre aide.
Bonjour,
La variable i ne peut pas prendre une valeur inférieure à 1.
Sub simpleloop()
Dim rap As Double
Dim i As Integer
i = 1
rap = Sheets("Calcul").Range("B15").Value
Do Until Sheets("Rapport").Cells(i, 1).Value >= rap
i = i + 1
Loop
End SubA+
Bonjour
Mince j'avais oublié .. reflexe du language C.
j'ai essayé et ca marche un grand merci !