La feuille existe t'elle déjà?

ZZR09

XLDnaute Occasionnel
Bonsoir à tous

Voilà j'ai encore un problème

Cela fait quelques temps que j'essaye de dupliquer une feuille d'un classeur à un autre.

le problème du jour est que lorsque je la copie, je dois m'assurer que le nom de la feuille n'existe pas déjà dans le classeur de destination.
pour cela, j'utilise le code ci-dessous ... que l'on m'a donné auparavant et qui fonctionne bien pour tester le nom d'un fichier.
En fait, le principe est de mettre en mémoire le nom de la future feuille et de le comparer à tous les noms de feuille du classeur actif (ActiveWorkbooks me fait bugger j'ettends la séléction à Workbooks)

Code:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim TestNomFeuill As Variant
Dim nb As Integer
nb = 1
NomFeuill2 = TextBox1.Value
'Windows(NomFichier).Activate
                For Each TestNomFeuill In Workbooks
                    If TestNomFeuill.Name = NomFeuill2 Then
                        MsgBox 'Ce nom n'est toujours pas valide : il est déjà utilisé', vbCritical, 'Avertissement'
                        TextBox1.SetFocus
                        TextBox1.SelStart = 0
                        TextBox1.SelLength = Len(Me.TextBox1)
                        GoTo fin
                    End If
                nb = nb + 1
                Next
fin:
AutreFeuill.Hide
MsgBox nb & ' feuilles testées', vbInformation, 'test effectué'
End Sub


En fait, TestNomFeuill.Name ne semble pas fonctionner dans la mesure où je n'ai jamais la valeur 'True'
Ci-joint un fichier pour ceux qui pourraient m'aider :)

Merci
A+


 [file name=Classeur23_20050822202012.zip size=13710]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur23_20050822202012.zip[/file]
 

Pièces jointes

  • Classeur23_20050822202012.zip
    13.4 KB · Affichages: 22
P

Panterad69

Guest
très simple replace :

For Each TestNomFeuill In Workbooks

par

For Each TestNomFeuill In Worksheets

et cela devrait le faire :)

explications

dans le premier en français ça donne

pour chaque 'Quelquechose' dans les classeur

alors que dans le deuxième celà donne :

pour chaque 'Quelquechose' dans les Feuilles

voilà ! espère avoir été claire :)

Bye
 

ZZR09

XLDnaute Occasionnel
Super cool :woohoo:

Merci beaucup Panterad69

Dire que j'ai cherché et cherché ... :S surtout du coté des déclarations de variable.
Ben la prochaine fois je poserai la question tout de suite.
A ce propos, j'ai encore quelques points à éclaircir ...

Mais non je vais d'abord chercher un peu tout seul. C'est comme ça qu'on apprend.

Merci et A+
B)
 

Discussions similaires

Statistiques des forums

Discussions
312 938
Messages
2 093 765
Membres
105 815
dernier inscrit
Quentinhll