bonjour
je voudrais comparer le nom d une feuille de classeur excel avec un autre nom
voici mon code :
anneeencours = Year(Date)
anneepassee = anneeencours - 1
nomfeuille = "Indicateur " & anneeencours
nomfeuillepasse = "Indicateur " & anneepassee
For j = 1 To Sheets.Count Step 1
If nomfeuille <> Sheets(j).Name Then
Sheets(nomfeuillepasse).Select
Sheets.Add
Sheets.Select
Sheets("Feuil5").Name = nomfeuille
Sheets(nomfeuillepasse).Select
Cells.Select
Selection.Copy
Sheets(nomfeuille).Select
Range("A1").Activate
ActiveSheet.Paste
For l = 0 To 22 Step 2
For m = 0 To 4 Step 1
Sheets(nomfeuille).Cells(10 + l, 2 + m).Value = ""
Next m
Next l
End If
Next j
Mon probleme c'est qu il me crée ma premiere feuille mais apres ca il rerentre dans le if et la j obtiens une erreur car il existe deja une page avec le meme nom ca c normal
je pense que c est ma condition du "si" qui n est aps correcte mais je ne vois pas comment y remedier
anneeencours = Year(Date)
anneepassee = anneeencours - 1
nomfeuille = "Indicateur " & anneeencours
nomfeuillepasse = "Indicateur " & anneepassee
test = 0
For j = 1 To Sheets.Count Step 1
If nomfeuille <> Sheets(j).Name Then
test = test + 1
Else
test = test + 0
End If
Next j
If test = Sheets.Count Then
Sheets(nomfeuillepasse).Select
Sheets.Add
Sheets.Select
Sheets("Feuil1").Name = nomfeuille
Sheets(nomfeuillepasse).Select
Cells.Select
Selection.Copy
Sheets(nomfeuille).Select
Range("A1").Activate
ActiveSheet.Paste
For l = 0 To 22 Step 2
For m = 0 To 4 Step 1
Sheets(nomfeuille).Cells(10 + l, 2 + m).Value = ""
Next m
Next l
Worksheets(nomfeuille).Range("L24").Value = "=NBVAL('Suivi Commandes'!A:A)"
End If
If nomfeuille <> Sheets(j).Name Then
bollean = true
else boolean = false
end if
next j
if boolean = true then
Sheets(nomfeuillepasse).Select
Sheets.Add
Sheets.Select
Sheets("Feuil5").Name = nomfeuille
Sheets(nomfeuillepasse).Select
Cells.Select
Selection.Copy
Sheets(nomfeuille).Select
Range("A1").Activate
ActiveSheet.Paste
For l = 0 To 22 Step 2
For m = 0 To 4 Step 1
Sheets(nomfeuille).Cells(10 + l, 2 + m).Value = ""
Next m
Next l
End If
De cette maniere si la feuille existe deja, ton booleen sera à false et tu ne rentrera pas dans la boucle if.
(Si la réponse vous convient, appuyez sur réponse acceptée...). Noubliez pas de lire le REGLEMENT
Il y a plusieurs facon d'être con ,mais un con choisit toujours la pire<>
le probleme avec ta solution proposée c est que ton boolean ne garde la valeur que de la derniere feuille du classeur et par consequent il me creera toujours une nouvelle feuille et la il y aura un bug car le nom existera deja
anneeencours = Year(Date)
anneepassee = anneeencours - 1
nomfeuille = "Indicateur " & anneeencours
nomfeuillepasse = "Indicateur " & anneepassee
test = 0
For j = 1 To Sheets.Count Step 1
If nomfeuille <> Sheets(j).Name Then
test = test + 1
Else
test = 0
End If
Next j
If test = Sheets.Count Then
Sheets(nomfeuillepasse).Select
Sheets.Add
Sheets.Select
Sheets("Feuil1").Name = nomfeuille
Sheets(nomfeuillepasse).Select
Cells.Select
Selection.Copy
Sheets(nomfeuille).Select
Range("A1").Activate
ActiveSheet.Paste
For l = 0 To 22 Step 2
For m = 0 To 4 Step 1
Sheets(nomfeuille).Cells(10 + l, 2 + m).Value = ""
Next m
Next l
Worksheets(nomfeuille).Range("L24").Value = "=NBVAL('Suivi Commandes'!A:A)"
End If