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 :

Macro pour récupérer les données du volet espion [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier Avatar de _cece
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 169
    Points : 94
    Points
    94
    Par défaut Macro pour récupérer les données du volet espion
    Bonjour,

    J'aurais aimer réaliser une macro pour récupérer les données du volet espion.

    Je dois récupérer sous le même style que le volet espion (classeur, feuille,cellule, Formule) toutes les cellules contenant des formules dans les différents onglet de mon fichier excel.

    Je ne trouve pas de solution et j'ai jusqu'à lundi soir.

    Merci d'avance

  2. #2
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Septembre 2007
    Messages : 220
    Points : 177
    Points
    177
    Par défaut
    Tu veux récupérer ca dans une fenetre ou dans une feuille excel? Et tu voudrais que ca s'actualise a chaque changement ou tu veux juste une liste des formules qui se trouvent dans ton fichier.
    Commence déjà par parcourir toutes les cellules de chaque feuille. Tu testes si c'est une formule. Si c'en est une, tu enregistres les infos classeur, feuille, celluls sous des variables. C'est une idée pour le début. Apres je ne sais pas sous quelle forme tu veux tes infos.
    Bon courage

  3. #3
    Membre régulier Avatar de _cece
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 169
    Points : 94
    Points
    94
    Par défaut
    Je voudrais avoir la liste des formules dans une nouvelle feuille Excel et le même format que le volet espion (ci-joint).

    Il me faut la liste de toutes les formules avec leur emplacement (cellule, feuille) pour un fichier excel.

  4. #4
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    Bonjour,
    vite fait...

    vois dans les faqs et tuto le maniement de l'éditeur vba, il y sûrement moyen de faire ce que tu veux, simplement et rapidement ?

    Sinon, tu peux effectivement passer par les feuilles, le forum regorge d'exemples.
    pour aller plus vite, au lieu de parcourir toutes les cellules de tes feuilles, utilises l'équivalent de Edition, atteindre, Cellules, Formules :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub Macro1()
        Selection.SpecialCells(xlCellTypeFormulas, 23).Select
    End Sub
    tu utilises For each pour parcourir les feuilles, puis pour chacune pour parcourir les cells de ta sélection, tu as les paramètres voulus en utilisant les propriétés adéquates genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ? activecell.Formula
    =B3*B5
    ? thisworkbook.name
    Classeur1
    ? activesheet.name
    Feuil1
    ? activecell.Value
     828
    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  5. #5
    Membre régulier Avatar de _cece
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 169
    Points : 94
    Points
    94
    Par défaut
    Merci mais j'ai trouvé :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    Sub ListFormulas()
        Dim FormulaCells As Range, Cell As Range
        Dim FormulaSheet As Worksheet
        Dim Row As Integer
     
    '   Create a Range object for all formula cells
        On Error Resume Next
        Set FormulaCells = Range("A1").SpecialCells(xlFormulas, 23)
     
    '   Exit if no formulas are found
        If FormulaCells Is Nothing Then
            MsgBox "No Formulas."
            Exit Sub
        End If
     
    '   Add a new worksheet
        Application.ScreenUpdating = False
        Set FormulaSheet = ActiveWorkbook.Worksheets.Add
        FormulaSheet.Name = "Formulas in " & FormulaCells.Parent.Name
     
    '   Set up the column headings
        With FormulaSheet
            Range("A1") = "Address"
            Range("B1") = "Formula"
            Range("C1") = "Value"
            Range("A1:C1").Font.Bold = True
        End With
     
    '   Process each formula
        Row = 2
        For Each Cell In FormulaCells
            Application.StatusBar = Format((Row - 1) / FormulaCells.Count, "0%")
            With FormulaSheet
                Cells(Row, 1) = Cell.Address _
                    (RowAbsolute:=False, ColumnAbsolute:=False)
                Cells(Row, 2) = " " & Cell.Formula
                Cells(Row, 3) = Cell.Value
                Row = Row + 1
            End With
        Next Cell
     
    '   Adjust column widths
        FormulaSheet.Columns("A:C").AutoFit
        Application.StatusBar = False
    End Sub

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/06/2011, 12h07
  2. [MySQL] probleme pour récupérer les données php/sql
    Par xavioche77 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 27/01/2011, 16h44
  3. Réponses: 4
    Dernier message: 25/11/2010, 20h14
  4. Réponses: 7
    Dernier message: 12/11/2009, 09h37
  5. Problème pour récupérer les données d'un datafile
    Par KhaoOs dans le forum Import/Export
    Réponses: 5
    Dernier message: 23/10/2007, 11h24

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