Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

indice n'appartient pas sélection

Hoareau

XLDnaute Occasionnel
Bonjour

Pourquoi l' indice n'appartient pas sélection dans cette macro

merci

Sub Exist_Feuil()

Dim ws As Object
Sheets("Feuil2").Copy Before:=Sheets(1)
For Each ws In Worksheets
If ws.Name = Recap_Ecart Then
Sheets("Feuil2 (2)").Name = "Recap_Ecart_2"
Else
Sheets("Feuil2 (2)").Name = "Recap_Ecart"
End If
Next ws
End Sub
 

JC de Lorient

XLDnaute Impliqué
Re : indice n'appartient pas sélection

Salut tout le monde

Juste une petite erreur içi :
If ws.Name = Recap_Ecart Then
les guillemets !!!!
remplace par : If ws.Name = "Recap_Ecart" Then

Bon courage
JC
 

michel_m

XLDnaute Accro
Re : indice n'appartient pas sélection

Bonjour Hoareau, JC

Si j'ai bien pigé ton truc, essaies ceci

Sub Exist_Feuil()

Dim ws As Object
Sheets("Feuil2").Copy Before:=Sheets(1)
cptr = 1
For Each ws In Worksheets
ws.Name = "Recap_Ecart_" & cptr
'End If
cptr = cptr + 1
Next ws
End Sub
 

Hoareau

XLDnaute Occasionnel
Re : indice n'appartient pas sélection

cela fonctionne mais j'ai maintenant 3 feuilles Recap_Ecart_

je fais un double de feuil2 si Recap_Ecart existe, je veux que le double de feuille2 s'appelle Recap_Ecart_2
Sinon il s'appelle Recap_Ecart
 

pierrejean

XLDnaute Barbatruc
Re : indice n'appartient pas sélection

bonjour Hoareau

Salut JC

Salut michel_m

pour ma part je verrais plutot:

Code:
Sub Exist_Feuil()
 
Dim ws As Object
Dim exist as Boolean
 
Sheets("Feuil2").Copy Before:=Sheets(1)
 
For Each ws In Worksheets
If ws.Name = "Recap_Ecart" Then
 exist=True
 exit for
End if
next ws
 
if exist then
Activesheet.Name = "Recap_Ecart_2"
Else
Activesheet.Name = "Recap_Ecart"
End If
 
End Sub
 

Excel_lent

XLDnaute Impliqué
Re : indice n'appartient pas sélection

Salut à tous,

Essaie cela (pour ne renommer qu'une feuille) :

Code:
Dim ws As Object
Sheets(2).Copy Before:=Sheets(1)
For Each ws In Worksheets
  On Error Resume Next
  If ws.Name <> "Recap_Ecart" Then
    Sheets("Feuil2 (2)").Name = "Recap_Ecart_2"
  Else
    Sheets("Feuil2 (2)").Name = "Recap_Ecart"
    Exit For
  End If
Next ws
End Sub
Si j'ai bien compris ta prococédure,michel, toutes les feuilles sont renommées !
@+
 

Discussions similaires

Réponses
7
Affichages
371
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…