Problème de message et de boucle Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
P
Petitejiji
Jeune membre
Jeune membre
Messages : 24
Inscrit le : 24 août 2017
Version d'Excel : 2016

Message par Petitejiji » 25 mars 2019, 11:00

Bonjour à tous,

Grâce à l'aide du forum, j'ai pu finaliser un projet Excel.... merci à tous :appl:

Maintenant, j'ai juste un problème de présentation. Dans l'exemple ci-dessous, il est possible de créer un onglet selon un modèle en le nommant.
Dupliquer.xlsm
(29.54 Kio) Téléchargé 2 fois
Si l'onglet existe déjà, il y a un message d'alerte. Si l'onglet peut être crée, il y a un message vide...

J'ai tenté de modifier le code comme ça :
If FeuilleExiste(nameOng) = True Then
    msg = msg & "L'onglet " & nameOng & " éxiste déjà" & Chr(10)
    
    If FeuilleExiste(nameOng) = False Then
    msg = msg & "Création de l'onglet " & nameOng & " ?" & Chr(10)
     
En fait, je comprends du message d'erreur qu'il y a un IF en trop.
Je ne sais pas comment le gérer...

Bon, c'est de la cosmétique... mais je suis preneuse de toute bonne idée sur le sujet.

Merci à tous

Petitejiji
Avatar du membre
Xmenpl
Membre impliqué
Membre impliqué
Messages : 2'121
Appréciations reçues : 137
Inscrit le : 16 mai 2018
Version d'Excel : 2003 à 2013

Message par Xmenpl » 25 mars 2019, 11:17

Bonjour,
Effectivement pourquoi 2 IF puisque soit c'est =True ou False


If FeuilleExiste(nameOng) = True Then
msg = msg & "L'onglet " & nameOng & " éxiste déjà" & Chr(10)
else
msg = msg & "Création de l'onglet " & nameOng & " ?" & Chr(10)
end if
Modifié en dernier par Xmenpl le 25 mars 2019, 11:53, modifié 1 fois.
A
AlgoPlus
Membre dévoué
Membre dévoué
Messages : 627
Appréciations reçues : 51
Inscrit le : 27 février 2019
Version d'Excel : 2007

Message par AlgoPlus » 25 mars 2019, 11:17

Bonjour,

Il y a un If en Trop ou bien un End If manquant .

Tout dépend de ce que vous voulez faire , un end if mal placé et le résultat n'est pas celui attendu.

Avec lequel des deux IF est "rattaché" le Else ?

A+

Edit : bonjour Xmenpl.

Avec le code proposé, si feuille... = true then message puis sorti du test re message. il faudrait un else?
1 membre du forum aime ce message.
Avatar du membre
Xmenpl
Membre impliqué
Membre impliqué
Messages : 2'121
Appréciations reçues : 137
Inscrit le : 16 mai 2018
Version d'Excel : 2003 à 2013

Message par Xmenpl » 25 mars 2019, 11:55

AlgoPlus a écrit :
25 mars 2019, 11:17
Bonjour,


Edit : bonjour Xmenpl.

Avec le code proposé, si feuille... = true then message puis sorti du test re message. il faudrait un else?
:mrgreen: justement je viens de me rendre compte que dans ma première version il exécuterait à
chaque fois la deuxième partie.

Bien vu Algo :good:
P
Petitejiji
Jeune membre
Jeune membre
Messages : 24
Inscrit le : 24 août 2017
Version d'Excel : 2016

Message par Petitejiji » 25 mars 2019, 12:06

Bonjour,

Merci beaucoup pour vos réponses.

Le code initial était le suivant
Sub AjoutOnglet()

Dim Ws As Worksheet
Dim nameOng As String, i As Integer

dl = Sheets("Feuil1").Range("C" & Rows.Count).End(xlUp).Row

For i = 4 To dl

Application.ScreenUpdating = False

    Set Ws = Sheets("Modèle")
    Ws.Copy After:=Sheets(Sheets.Count)
    Sheets("Feuil1").Activate
    nameOng = Sheets("Feuil1").Range("C" & i)
    
    If FeuilleExiste(nameOng) = True Then
    msg = msg & "L'onglet " & nameOng & " éxiste déjà" & Chr(10)
    
    Application.DisplayAlerts = False
    Sheets("Modèle (2)").Delete
    Sheets("Feuil1").Select
    'Exit Sub
    Else
        With Sheets("Modèle (2)")
            .Name = nameOng
            .Visible = True
            .Activate
            .Range("C2") = Sheets("Feuil1").Range("C" & i)
        End With
        End If
        
        Sheets("Feuil1").Select
Next i
i = i + 1
MsgBox msg  'message avec onglets déjà existants

Call listeonglet

End Sub
Sauf que avec ce code, soit :
- l'onglet existe déjà et le message qui s'affiche est "L'onglet bidule existe déjà". L'onglet n'est pas créé
- l'onglet n'existe pas et le message est vide. L'onglet est créé

Je souhaite juste ajouter du texte dans le message vide

Merci à tous

Petitejiji
Avatar du membre
xorsankukai
Membre impliqué
Membre impliqué
Messages : 1'649
Appréciations reçues : 166
Inscrit le : 7 octobre 2014
Version d'Excel : 2010 FR

Message par xorsankukai » 25 mars 2019, 13:54

Bonjour Petitejiji, Xmenpl, AlgoPlus,

Une variante qui affiche le message uniquement si l'onglet existe déjà....(inconvénient: 1 clic par onglet déjà crée, :bof: )
DupliquerV6.xlsm
(29.85 Kio) Téléchargé 6 fois
Cordialement,
xorsankukai

La connaissance, c’est partager le savoir qui nous fait grandir.
P
Petitejiji
Jeune membre
Jeune membre
Messages : 24
Inscrit le : 24 août 2017
Version d'Excel : 2016

Message par Petitejiji » 25 mars 2019, 14:49

Salut Xmenpl, AlgoPlus et Xorsankukai,

Merci beaucoup pour vos réponses.... ça me va parfaitement !!! :bien:

Bonne journée à tous

Petitejiji
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message