Affichage dans USF nom de feuille en cours de création.

  • Initiateur de la discussion Initiateur de la discussion aubelix
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

aubelix

XLDnaute Impliqué
Re Bonjour à tous les amis du Forum. 🙂

Une nouvelle question concernant l'affichage dans un userform
du nom de la feuille en cours de création.

Je lance une macro qui via un modèle la création de fiches
qui reprennent le SN et crée l'onglet au nom de ce SN
pour chaque fiche. Important, le modèle doit se trouver dans le même
répertoire que la macro pour fonctionner. Je vous le joint.

Comment lors de la création des Fiches, afficher dans l'userform d'attente
le nom de la feuille en cours de création.

Par avance, Merci pour votre aide.
Cordialemment.
 

Pièces jointes

Re : Affichage dans USF d'attente nom de feuille

Bonjour à tous les Amis du Forum. 🙂

Je me permets de vous relancer pour savoir si
ma requête était réalisable ?

Afficher dans l'userform f'attente, le nom
des feuilles en cours de création.

Code:
Sub creation_FICHES()
    Dim sh As Worksheet
    Dim cel As Range, plg As Range
    Dim VarC12 As Variant
 
    UserFormAttente.Show 0
    UserFormAttente.Repaint
    Sheets("BASE").Activate
    Range("B2").Select
 
    Set plg = Range(Selection, Selection.End(xlDown))
 '    Application.ScreenUpdating = False
    For Each cel In plg.Cells
        If cel <> "" Then
            For Each sh In Worksheets
                If sh.Name = cel Then GoTo suite
            Next
            Sheets.Add Type:=ActiveWorkbook.Path & "\MODELE.xls", _
                       After:=Sheets(Sheets.Count)
  UserFormAttente.Label2.Caption = Sheets(Sheets.Count).Name = cel.Value
            Sheets(Sheets.Count).Name = cel.Value
 
            'Recopie les différentes rubriques spécifiées
            With Sheets("BASE")
                VarC12 = .Range("E2").Value
                VarD12 = .Range("F2").Value
                VarE34 = .Range("J2").Value
                VarF12 = .Range("D2").Value
                VarH12 = .Range("B2").Value
                VarJ4 = .Range("C2").Value
                VarJ7 = .Range("G2").Value
                VarJ12 = .Range("H2").Value
            End With
            With Sheets(Sheets.Count)
 
                'Numéro
                If Sheets("BASE").Range("E" & cel.Row).Value <> "" Then VarC12 = Sheets("BASE").Range("E" & cel.Row).Value
                .Range("C12").Value = VarC12
                'Type
                If Sheets("BASE").Range("F" & cel.Row).Value <> "" Then VarD12 = Sheets("BASE").Range("F" & cel.Row).Value
                .Range("D12").Value = VarD12
                'Responsable
                If Sheets("BASE").Range("J" & cel.Row).Value <> "" Then VarE34 = Sheets("BASE").Range("J" & cel.Row).Value
                .Range("E34").Value = VarE34
                'Quantité
                If Sheets("BASE").Range("D" & cel.Row).Value <> "" Then VarF12 = Sheets("BASE").Range("D" & cel.Row).Value
                .Range("F12").Value = VarF12
                'Référence
                If Sheets("BASE").Range("B" & cel.Row).Value <> "" Then VarH12 = Sheets("BASE").Range("B" & cel.Row).Value
                .Range("H12").Value = VarH12
                'N° de suivi
                If Sheets("BASE").Range("C" & cel.Row).Value <> "" Then VarJ4 = Sheets("BASE").Range("C" & cel.Row).Value
                .Range("J4").Value = VarJ4
                'Ordre
                If Sheets("BASE").Range("G" & cel.Row).Value <> "" Then VarJ7 = Sheets("BASE").Range("G" & cel.Row).Value
                .Range("J7").Value = VarJ7
                'Status
                If Sheets("BASE").Range("H" & cel.Row).Value <> "" Then VarJ12 = Sheets("BASE").Range("H" & cel.Row).Value
                .Range("J12").Value = VarJ12
            End With
        End If
suite:
    Next cel
 
    Unload UserFormAttente
 
    Sheets("BASE").Activate
End Sub


Par avance, Merci pour votre aide.
Cordialement.
 
Dernière édition:
Re : Affichage dans USF nom de feuille en cours de création.

Bonjour bhbh. 🙂

Désolé, ce n'est pas du tout dans ma personnalité ni dans mon style.
Je vous pris de m'excuser, mais ça m'est sorti de l'esprit.
Et pour cause toustes les solutions fonctionnaient, j'ai effectivement
répondu, mais je ne sais pas ce qui s'est passé. 😕

Tu remarqueras, qu'à chaque question, je réponds et je me confonds en
remerciements pour l'aide que vous tous m'apportez à moi et à toute la
communauté.

Une fois, je vous prie d'accepter mes excuses. 🙁

Cordialement.
 
Re : Affichage dans USF nom de feuille en cours de création.

Bonjour Aubelix,
Hubert🙂


Code:
Sub creation_FICHES()
    Dim sh As Worksheet
    Dim cel As Range, plg As Range
    Dim VarC12 As Variant

    UserFormAttente.Show 0
    UserFormAttente.Repaint
    Sheets("BASE").Activate
    Range("B2").Select

    Set plg = Range(Selection, Selection.End(xlDown))
    For Each cel In plg.Cells
        If cel <> "" Then
            For Each sh In Worksheets
                If sh.Name = cel Then GoTo suite
            Next
            UserFormAttente.Label2.Caption = cel.Value
            UserFormAttente.Repaint
            Application.ScreenUpdating = False
            Sheets.Add Type:=ActiveWorkbook.Path & "\MODELE.xls", _
                       After:=Sheets(Sheets.Count)
            Sheets(Sheets.Count).Name = cel.Value
            
            'Recopie les différentes rubriques spécifiées
            With Sheets("BASE")
                VarC12 = .Range("E2").Value
                VarD12 = .Range("F2").Value
                VarE34 = .Range("J2").Value
                VarF12 = .Range("D2").Value
                VarH12 = .Range("B2").Value
                VarJ4 = .Range("C2").Value
                VarJ7 = .Range("G2").Value
                VarJ12 = .Range("H2").Value
            End With
            With Sheets(Sheets.Count)

                'Numéro
                If Sheets("BASE").Range("E" & cel.Row).Value <> "" Then VarC12 = Sheets("BASE").Range("E" & cel.Row).Value
                .Range("C12").Value = VarC12
                'Type
                If Sheets("BASE").Range("F" & cel.Row).Value <> "" Then VarD12 = Sheets("BASE").Range("F" & cel.Row).Value
                .Range("D12").Value = VarD12
                'Responsable
                If Sheets("BASE").Range("J" & cel.Row).Value <> "" Then VarE34 = Sheets("BASE").Range("J" & cel.Row).Value
                .Range("E34").Value = VarE34
                'Quantité
                If Sheets("BASE").Range("D" & cel.Row).Value <> "" Then VarF12 = Sheets("BASE").Range("D" & cel.Row).Value
                .Range("F12").Value = VarF12
                'Référence
                If Sheets("BASE").Range("B" & cel.Row).Value <> "" Then VarH12 = Sheets("BASE").Range("B" & cel.Row).Value
                .Range("H12").Value = VarH12
                'N° de suivi
                If Sheets("BASE").Range("C" & cel.Row).Value <> "" Then VarJ4 = Sheets("BASE").Range("C" & cel.Row).Value
                .Range("J4").Value = VarJ4
                'Ordre
                If Sheets("BASE").Range("G" & cel.Row).Value <> "" Then VarJ7 = Sheets("BASE").Range("G" & cel.Row).Value
                .Range("J7").Value = VarJ7
                'Status
                If Sheets("BASE").Range("H" & cel.Row).Value <> "" Then VarJ12 = Sheets("BASE").Range("H" & cel.Row).Value
                .Range("J12").Value = VarJ12
            End With
        End If
suite:
    Application.ScreenUpdating = True
    Next cel

    Unload UserFormAttente
    
    Sheets("BASE").Activate
End Sub

A+
 
Re : Affichage dans USF nom de feuille en cours de création.

Re HASCO. 🙂

Merci pour ta réponse et ton aide.
J'ai testé ta macro, comme toujours, elle fonctionne bien.

Vous renouvellant une fois de plus mes excuses pour ce malentendu.

Cordialement.
 
Re : Affichage dans USF nom de feuille en cours de création.

Bonjour à tous les Amis du Forum. 🙂

Merci de m'aider une fois de plus.
J'aurais aimé insérer dans un label le nom de la feuille
en cours de suppression. J'ai essayé :

Code:
UserFormAttente_Supression.Label2.Caption = sh.Name = sh.Name

Mais ça ne fonctionne pas.

Code:
Sub Supprimer()
    Dim sh As Worksheet
 
    Select Case MsgBox("       Voulez-vous réellemnt    " _
                     & vbCrLf & "   supprimer toutes les FICHES ?   " _
                     & vbCrLf & "" _
         , vbYesNo Or vbCritical Or vbDefaultButton2, "Confirmez votre choix...")
 
    Case vbYes
 
        For Each sh In Worksheets
            If sh.Name <> "BASE" Then
                Application.DisplayAlerts = False
                sh.Delete
            End If
        Next sh
 
        Sheets("BASE").Activate
        Range("A1").Select
    Case vbNo
        Exit Sub
    End Select
End Sub

Merci pour votre aide.
Cordialement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

D
  • Question Question
Réponses
5
Affichages
163
Didierpasdoué
D
Réponses
12
Affichages
668
Retour