Comment nommer automatiquement plusieurs onglet à partir de 2 cellules?
#1
Débutant XLPages

Inscription: 16/02/2011

Messages: 6

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 16-02-2011 11h03
Bonjour à toutes et à tous,

Je voudrais récupérer les données de 2 cellules dans un tableau (en feuille 1) pour nommer une série de feuille/onglet.

Donc j'ai un tableau avec 2 colonnes B & G et je souhaiterais reprendre les information en B1 & G1 pour nommer automatiquement la feuille/onglet "2", puis les données de B2 & G2 pour la feuille suivante et ainsi de suite...

Est ce possible?

Pour info je suis nul sous excel et pire sur VBA alors soyez explicite SVP

D'avance merci


Hors Ligne
Rapport   Haut 

Re: Comment nommer automatiquement plusieurs onglet à partir de 2 cellules?
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 16-02-2011 20h58
Bonsoir StAn, bienvenue sur XLpages.com

Questions STP :
  • Sur quel évènement souhaites-tu ce traitement ? L'appui sur un bouton ?
  • Faut-il concaténer les données Bx & Gx pour en faire le nom d'onglet ?
  • Faut-il vérifier la cohérence du nom ainsi constitué ? Rappel : certains caractères ne sont pas permis dans les noms d'onglet...
  • Faut-il s'attendre à des doublons (et en gérer la présence éventuelle) ? Rappel : 2 onglets ne peuvent porter le même nom.

Pour quelqu'un qui pense ne rien connaitre d'Excel, tu te débrouilles visiblement bien quand même (Merci de ta contribution en tout cas ! Toute participation est la bienvenue)


Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Comment nommer automatiquement plusieurs onglet à partir de 2 cellules?
#3
Débutant XLPages

Inscription: 16/02/2011

Messages: 6

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 17-02-2011 08h21

  • Citation :
    Sur quel évènement souhaites-tu ce traitement ? L'appui sur un bouton ?
  • Pas forcement mais si ça peut faciliter la manipulation pourquoi pas.
  • Je souhaiterais qu'a chaque création de feuille celle-ci porte le non des données en Bx & Gx de la feuille 1
  • Citation :
    Faut-il concaténer les données Bx & Gx pour en faire le nom d'onglet ?
  • tout à fait, à une chose prête je voudrais rajouter un "-" entre les 2 données concaténer
  • Citation :
    Faut-il vérifier la cohérence du nom ainsi constitué ? Rappel : certains caractères ne sont pas permis dans les noms d'onglet...
  • Je ne pense pas. les noms des feuilles seront du type : DN300-123456
  • Citation :
    Faut-il s'attendre à des doublons (et en gérer la présence éventuelle) ? Rappel : 2 onglets ne peuvent porter le même nom.
En toute logique il ne devrait pas y avoir de doublon, car les données de la colonne B sont de DN (diamètre nominaux) et dans la colonne G des numéros de coulée propre à chaque DN

J'espère avoir répondu à tes questions correctement.





Hors Ligne
Rapport   Haut 

Re: Comment nommer automatiquement plusieurs onglet à partir de 2 cellules?
#4
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 18-02-2011 00h35
Bonsoir StAn, le Forum,

Tu trouveras en pièce jointe une tentative de réponse pour ta demande.
J'ai utilisé le code VBA suivant :

DANS UN MODULE DE CODE STANDARD (ex : Module1)

Option Explicit

Sub Traitement()
'myDearFriend!  -  www.mdf-xlpages.com
Dim F As Worksheet
Dim TabTemp As Variant
Dim L As Long
    'Charge les données dans un tableau variant temporaire
    With Sheets("Feuil1")    '(à adapter)
        L = .Cells(.Rows.Count, 2).End(xlUp).Row
        TabTemp = .Range(.Cells(1, 2), .Cells(L, 7)).Value
        L = 0
        On Error Resume Next
        'Pour chaque feuille (sauf la première)
        For Each F In Worksheets
            If F.Name <> "Feuil1" Then  '(à adapter)
                L = L + 1
                F.Name = TabTemp(L, 1) & "-" & TabTemp(L, 6)
            End If
        Next F
    End With
    MsgBox "Traitement terminé !"
End Sub

En espérant que ça puisse te convenir...

Cordialement,


Pièce jointe:
zip PourStAn.zip   [ Taille: 10.00 Ko - Téléchargements: 510 ]

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Comment nommer automatiquement plusieurs onglet à partir de 2 cellules?
#5
Débutant XLPages

Inscription: 16/02/2011

Messages: 6

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 18-02-2011 08h42
Un grand merci, c'est exactement ça.

Par contre qu'elle sont les données à modifier dans le code VBA si jamais mes données sont dans une autre colonne que B & G? j'ai modifié la mise en page et maintenant mes données sont en colonnes A & F

Il y a t-il d'autre chose à modifier dans ce code pour que les données concaténées prises en compte ne débutent qu'à la ligne 5?

Peux tu surligner dans ton code VBA les données à modifier.

Encore merci et bonne journée
Hors Ligne
Rapport   Haut 

Re: Comment nommer automatiquement plusieurs onglet à partir de 2 cellules?
#6
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 18-02-2011 23h48
Bonsoir StAn, le Forum,

Arf... après avoir lu ton premier post (ci-dessus), je t'ai posé une série de questions car l'ensemble me paraissait assez vague et pas vraiment clair... Et dans ton sujet, la seule chose qui ne prêtait aucune ambigüité, c'était justement les colonnes B et G 


Ci-dessous, le code rectifié (voir les seules modifications surlignées) :
Option Explicit

Sub Traitement()
'myDearFriend!  -  www.mdf-xlpages.com
Dim F As Worksheet
Dim TabTemp As Variant
Dim L As Long
    'Charge les données dans un tableau variant temporaire
    With Sheets("Feuil1")    '(à adapter)
        L = .Cells(.Rows.Count, 1).End(xlUp).Row
        TabTemp = .Range(.Cells(1, 1), .Cells(L, 6)).Value
        L = 0
        On Error Resume Next
        'Pour chaque feuille (sauf la première)
        For Each F In Worksheets
            If F.Name <> "Feuil1" Then  '(à adapter)
                L = L + 1
                F.Name = TabTemp(L, 1) & "-" & TabTemp(L, 6)
            End If
        Next F
    End With
    MsgBox "Traitement terminé !"
End Sub

Si tu penses que ton sujet est clos, je te remercie de mettre en pratique ce qui est indiqué au bas de ma signature.

Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Comment nommer automatiquement plusieurs onglet à partir de 2 cellules?
#7
Débutant XLPages

Inscription: 16/02/2011

Messages: 6

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 21-02-2011 09h31
Merci pour tous, à moi de mettre les mains dedans maintenant
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes