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 :

Tester si la cellule contient une formule [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 159
    Par défaut Tester si la cellule contient une formule
    bonjour,

    Voila je fais une boucle sur les ligne de mon tableau et j'aimerais tester si la cellule que je parcours contient une formule ou pas ?

    Le but est d'effacer les cellule ne contenant pas de fonction (des nombre) et de remplacer une valeur par une autre dans la formule dans les champs contenant une fonction.

    Je pensais essayer de tester si le premier caractère étais un = mais malheureusement j'arrive a obtenir seulement la valeur calculé du champ et non son calcul...

    Merci d'avance

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    389
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 389
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub sc()
     
    Dim maFeuille As Worksheet
    Dim cellule As Range
         Set maFeuille = ActiveSheet
            For Each cellule In maFeuille.UsedRange
                If Not cellule.HasFormula Then
                    cellule.Font.ColorIndex = xlColorIndexAutomatic
                Else
                    cellule.Font.ColorIndex = 3
                End If
            Next
         Exit Sub
    End Sub
    Colore en rouge les cellules ayant une formule. A adapter

  3. #3
    Expert confirmé
    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
    Par défaut
    Bonjour,

    En gros, ton tableau a combien de lignes sur combien de colonnes et quel est le pourcentage de cellules avec formules?

    cordialement,

    Didier

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 159
    Par défaut
    Merci pour les réponses

    Ca marche nickel

    Enfaite y a environ 20% de champs calculé et le reste c'est des chiffre ou des ligne vide! Pourquoi y aurais un meilleur moyen?



    Merci

  5. #5
    Expert confirmé
    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
    Par défaut
    ton tableau a combien de lignes sur combien de colonnes
    Tu ne donnes pas ces infos, il y a peut-être plus rapide, mais ça n'a d'intérêt que selon la dimension du tableau...

    cordialement,

    Didier

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 159
    Par défaut
    Ok alors c'est une colonne avec un milliers de lignes désolé j'avais pas bien compris...

    EDIT: faute de boulet

  7. #7
    Expert confirmé
    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
    Par défaut
    Bonjour,

    bon 1000 cellules, c'est pas grand chose, vois avec les timer si ça fait une différence, sur des gros tableaux, ça devrait se sentir..

    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
    Sub Toto()
    Dim tboPass() As Variant
    Dim I As Long
    Dim cell As Range
    Dim pass1 As Single, pass2 As Single
     
    pass1 = Timer
    I = 1
       Selection.SpecialCells(xlCellTypeFormulas, 23).Select
    ReDim tboPass(Selection.Count, Selection.Count)
    For Each cell In Selection
       tboPass(I, 1) = cell.Formula
       ' selon ton contexte tu peux placer ton traitement de formules à l'endroit voulu
       tboPass(I, 2) = cell.Address
       I = I + 1
    Next cell
    Columns(1).Clear
    For I = 1 To UBound(tboPass)
    Range(tboPass(I, 2)).Formula = tboPass(I, 1)
    Next I
    pass2 = Timer
    MsgBox pass2 - pass1 & " secondes de traitement "
     
    End Sub
    cordialement,

    Didier

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 159
    Par défaut
    Ok merci

    Vu que tu t'es donné la peine de m'expliquer je vais tester mais
    les 2 sec. avec le code de JPierreM ca être difficile de faire mieux

    Je mets déjà résolu mais je reviendrais te dire si y a une différence...

    Cordialement

    totoen

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

Discussions similaires

  1. [XL-2007] commande pour savoir si une cellule contient une formule
    Par laduche31 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/12/2011, 12h35
  2. comment afficher une cellule qui contient une formule, dans textbox
    Par cali59 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/08/2009, 01h07
  3. trouver si une cellule contient une formule
    Par chton_77 dans le forum Excel
    Réponses: 2
    Dernier message: 03/07/2007, 15h36
  4. Find contenu de la cellule est une formule
    Par Capsule dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/01/2007, 10h47
  5. [Excel] choisir une cellule dans une formule
    Par arcane dans le forum Excel
    Réponses: 1
    Dernier message: 24/03/2006, 19h05

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