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érer le nom d'un onglet + informations dans la feuille


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 50
    Points : 29
    Points
    29
    Par défaut Récupérer le nom d'un onglet + informations dans la feuille
    Bonjour à tous,

    j'ai un fichier excel avec un nombre x d'onglets, dans chaque onglet j'ai un ligne qui est en bleue. J'aimerais que dans le dernier onglet, je puisse récuperer les noms d'onglet dans la première colonne et les l'informations qui est bleu à coté.

    j'espère que j'ai été assez clair dans ma demande

    je vous joins le fichier.

    Merci
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour et bienvenue sur le forum,

    Tu peux tester ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Sub test()
    Dim i As Integer, f As Integer, DerL As Integer, x As Integer
     
    DerL = Sheets(Sheets.Count).Range("A65535").End(xlUp).Row + 1
     
    For f = 1 To Sheets.Count - 1
        For i = 2 To Sheets(f).Cells(Rows.Count, 1).End(xlUp).Row
            'ATTENTION !!! 2 COULEURS DE REMPLISSAGE DIFFERENTES
            If Sheets(f).Cells(i, 1).Interior.ColorIndex = 8 Or Sheets(f).Cells(i, 1).Interior.ColorIndex = 34 Then
                With Sheets(Sheets.Count)
                    .Cells(DerL, 1) = Sheets(f).Name
                    For x = 1 To 5
                        .Cells(DerL, x + 1) = Sheets(f).Cells(i, x)
                     Next
                End With
                DerL = DerL + 1
            End If
        Next
    Next
    End Sub

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 50
    Points : 29
    Points
    29
    Par défaut
    Merci beaucoup,

    par contre est-ce que c'est possible des lors je rajoute un onglet ou que je modifie la ligne que je récupère elle se change automatiquement dans la feuille récap?

    Merci pour la réactivité

  4. #4
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Le plus simple et le plus rapide est de relancer la procédure dans laquelle j'ai ajouté un bout de code pour vider la feuille récap
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Sub test()
    Dim i As Integer, f As Integer, DerL As Integer, x As Integer
     
    With Sheets(Sheets.Count)
        DerL = .Range("A65535").End(xlUp).Row + 1
        .Range("A2:A" & DerL).EntireRow.Delete
    End With
     
    DerL = 2
     
    For f = 1 To Sheets.Count - 1
        For i = 2 To Sheets(f).Cells(Rows.Count, 1).End(xlUp).Row
            'ATTENTION !!! 2 COULEURS DE REMPLISSAGE DIFFERENTES
            If Sheets(f).Cells(i, 1).Interior.ColorIndex = 8 Or Sheets(f).Cells(i, 1).Interior.ColorIndex = 34 Then
                With Sheets(Sheets.Count)
                    .Cells(DerL, 1) = Sheets(f).Name
                    For x = 1 To 5
                        .Cells(DerL, x + 1) = Sheets(f).Cells(i, x)
                     Next
                End With
                DerL = DerL + 1
            End If
        Next
    Next
    End Sub

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 50
    Points : 29
    Points
    29
    Par défaut
    Merci c'est nickel.

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

Discussions similaires

  1. Récupérer le nom d'un onglet dans le code
    Par neoboy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/08/2014, 20h42
  2. Récupérer le nom et prénom d'utilisateur dans une textbox
    Par juju1988 dans le forum Windows Forms
    Réponses: 16
    Dernier message: 09/02/2010, 20h24
  3. Récupérer le nom du fichier en cours dans une variable.
    Par quiky dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 06/05/2009, 13h28
  4. Récupérer le nom d'un onglet d'un classeur excel
    Par dcarroz dans le forum ASP.NET
    Réponses: 1
    Dernier message: 14/01/2009, 14h36
  5. Réponses: 2
    Dernier message: 23/04/2008, 11h35

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