IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Récupération du nom d'une feuille précise et à insérer dans une cellule d'une autre feuille [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 373
    Billets dans le blog
    1
    Par défaut Récupération du nom d'une feuille précise et à insérer dans une cellule d'une autre feuille
    Bonjour le forum
    Je suis à la recherche d'une Vb qui me permet de récupérer le nom d'un onglet précis et de l'insérer dans une cellule choisie d'une autre feuille.
    J'ai cherché et j'ai trouvé beaucoup de chose mais rien ne correspond à mon souhait.
    J'ai retenu cette macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub CopieNomFeuilles()
    Dim sh As Worksheet
    For Each sh In Worksheets
    sh.Range("A1") = sh.Name
    Next
    End Sub
    mais je n'arrive pas (normal vu ma connaissance en vba) à la modifier.
    J'ai un classeur contenant plusieurs feuilles et je voudrais récupérer le nom de la feuille 3 J pour placer ce nom dans le cellule C3 de la feuille portant le nom Score

  2. #2
    Membre Expert
    Avatar de cb_60
    Homme Profil pro
    Chargé de mission technique
    Inscrit en
    Juillet 2007
    Messages
    1 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chargé de mission technique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 253
    Billets dans le blog
    14
    Par défaut
    Bonsoir
    Se mettre sur la feuille que l'on souhaite transférer le nom et lancer la macro.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub CopieNomFeuilles()
     
     Sheets("Score").Range("C3") = ActiveSheet.Name
     
     End Sub
    L'imagination est plus importante que le savoir.... A . Einstein. :pastaper:
    https://www.developpez.net/forums/blogs/179588-cb_60/
    Merci de cliquer sur :resolu:pour clore cette discussion.

  3. #3
    Membre éclairé

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 373
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par cb_60 Voir le message
    Bonsoir
    Se mettre sur la feuille que l'on souhaite transférer le nom et lancer la macro.
    Merci Cb 60 de ta réponse rapide est opérationnelle. C'est ce que je souhaitais, pensant pouvoir la modifier un peu. Mais franchement je suis un nul car je voudrais utiliser cette fonction [IV1].End(xlToLeft).Offset(0, 1) qui me renvoie à la première cellule vide de la dernière colonne. Car en fait ma macro finale devrait ressembler à ceci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Sheets("3 J").Select ' feuille où se trouvent les données
        Range("k3").Select   ' valeur de la cellule à recopier
        Selection.Copy
        Sheets("Score").Select ' feuille où doit être recopier la donnée
        [IV2].End(xlToLeft).Offset(0, 1).Activate  ' dernière colonne première cellule vide 
        Selection.PasteSpecial Paste:=xlPasteValues  ' copiage
    J'ai essayé ceci dans ta formule, mais le résultat n'est pas bon. 3 J est recopié 8 fois à partir de la première cellule vide. Je lance la macro depuis le feuille 3 J.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub CopieOnglet()
    Dim sh As Worksheet
    
    For Each sh In Worksheets
    Sheets("Score").[IV1].End(xlToLeft).Offset(0, 1) = ActiveSheet.Name  en lieu est place de Range("C3")
    Next
    End Sub
    Peux-tu me replacer cette macro de façon que 3 J soit placé sur la première ligne première colonne vide et que la valeur de cellule K3 soit placée dans la cellule soit 3 J soit sur la deuxième ligne.
    Dans l'absolue est-il possible de transposer la valeur d'une plage (K3:N3) de 3 J dans la première colonne vide de la feuille Score à partir de la deuxième ligne, la 1ère étant réservée au nom de la feuille.
    Grandement merci.
    Cordialement

  4. #4
    Membre Expert
    Avatar de cb_60
    Homme Profil pro
    Chargé de mission technique
    Inscrit en
    Juillet 2007
    Messages
    1 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chargé de mission technique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 253
    Billets dans le blog
    14
    Par défaut
    Bonjour
    Je ne comprend pas ton souhait?
    L'imagination est plus importante que le savoir.... A . Einstein. :pastaper:
    https://www.developpez.net/forums/blogs/179588-cb_60/
    Merci de cliquer sur :resolu:pour clore cette discussion.

  5. #5
    Membre éclairé

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 373
    Billets dans le blog
    1
    Par défaut
    Bonjour CB 60
    Excuses-moi si je n'ai été pas assez explicite.
    Disons que la macro que tu m'as fournie est superbe, et je voudrais en plus pouvoir exporter la valeur de la plage K3:O3 de la feuille 3 J pour y placer dans la première colonne vide de la feuille Score. Le tout évidemment dans la même macro.
    C'est pourquoi de t'avais mis mon "travail" qui ne fonctionne qu'en parti.
    En un mot : récupération du nom de l'onglet et récupération des valeurs de K3:O3 de la feuille 3 J pour tout y placer dans la première colonne vide à partir de C1 de la feuille Score.
    Ce qui me donne dans la feuille Score :A1 = Noms - B1= Score Final (ces deux cellules sont en permanences) - C1=3 J & Date - C2=K3 - C3=L3 - C4=M3 - C5=N3 - C6= O3.
    Excuses-moi encore un fois
    Cordialement

  6. #6
    Membre Expert
    Avatar de cb_60
    Homme Profil pro
    Chargé de mission technique
    Inscrit en
    Juillet 2007
    Messages
    1 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chargé de mission technique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 253
    Billets dans le blog
    14
    Par défaut
    Bonjour
    A tester, lancer la macro depuis la feuille " 3 J"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Macro1()
    test = ActiveSheet.Name
        Sheets("Score").Range("IV1").End(xlToLeft)(1, 2) = test & " _ " & (Format(Now, "dd-mm-yy"))
        Sheets(test).Range("k3:q3").Copy
        Sheets("Score").Activate
        Sheets("Score").Range("IV1").End(xlToLeft)(1, 1).Offset(1, 0).Select
        Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
            False, Transpose:=True
         Application.CutCopyMode = False
        Range("A1").Select
     
    End Sub
    Fichiers attachés Fichiers attachés
    L'imagination est plus importante que le savoir.... A . Einstein. :pastaper:
    https://www.developpez.net/forums/blogs/179588-cb_60/
    Merci de cliquer sur :resolu:pour clore cette discussion.

  7. #7
    Membre éclairé

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 373
    Billets dans le blog
    1
    Par défaut
    Re
    Merci, c'est exactement le résultat que je souhaitais.
    J'essaye de comprendre la vba mais il est très difficile de tout comprendre en autodidact.
    Je repasserai par tes services CB 60, car tu es pro, rapide et efficace.
    Dossier classé.
    Cordialement à tout le forum

  8. #8
    Membre Expert
    Avatar de cb_60
    Homme Profil pro
    Chargé de mission technique
    Inscrit en
    Juillet 2007
    Messages
    1 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chargé de mission technique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 253
    Billets dans le blog
    14
    Par défaut
    Re
    Désolé, mais en macro je suis qu'un novice, si un pro voyait ce boulot, je suis sur qu'il y aurais deux fois moi de code!!!

    merci tout de même
    L'imagination est plus importante que le savoir.... A . Einstein. :pastaper:
    https://www.developpez.net/forums/blogs/179588-cb_60/
    Merci de cliquer sur :resolu:pour clore cette discussion.

  9. #9
    Membre éclairé

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 373
    Billets dans le blog
    1
    Par défaut
    Il n'y a pas de quoi, je voudrais bien être un novice comme toi.
    C'est moi qui te remercie.
    A la prochaine, même si tu es un novice
    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/02/2010, 14h24
  2. [MySQL] savoir les requetes insérés dans la base pour une date précise
    Par betadev dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 10/02/2009, 21h40
  3. loadmovie (dans un clip vide) à une frame précise.
    Par paricilas dans le forum Flash
    Réponses: 2
    Dernier message: 11/06/2007, 21h04
  4. Nommer la feuille du classeur Excel dans lequel on exporte une requête
    Par Thierry'' dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 20/09/2006, 08h41
  5. Réponses: 3
    Dernier message: 23/04/2006, 12h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo