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 :

[VBA-E] Formules qui se tirent automatiquement


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Par défaut [VBA-E] Formules qui se tirent automatiquement
    Salut à tous,



    Comme ma question intitulé « Sélection automatique cellule après tri » n'a pas connu de succès, j'ai finalement essayé de faire d'une autre façon, un peu plus rustique mais l'essentiel est que ça fonctionne

    Dans un classeur excel, et dans la Feuil3, je rentre toutes mes données.

    Je fais ensuite un filtre automatique selon un critère et je copie la sélection dans une autre feuille (feuil2).

    Dans cette feuil2, j'aimerais que, dans la première colonne vide à droite de ces données copiées, qu'une formule se mette de la première à la dernière cellule (la dernière cellule variant selon le filtre et doit correspondre au même nombre de lignes)

    J'arrive seulement à renvoyer la formule dans la première cellule.

    J'espère ne pas être trop confus.

    Voilà un bout de mon code sur lequel j'ai un problème :


    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
     Case Is = "CROISSANCE ECONOMIQUE"
     
    Liste1.Hide
     
    Selection.AutoFilter Field:=23, Criteria1:="CROISSANCE ECONOMIQUE"
     
    Columns("A:AH").Select
     
    Selection.Copy
     
    Sheets("Feuil2").Select
     
    Range("A1").Select
     
    ActiveSheet.Paste
     
    DerniereLigne = ActiveCell.CurrentRegion.End(xlDown).Row
     
    Set tabl = Range(Worksheets("Feuil2").Cells(2, 36), Worksheets("Feuil2").Cells(DerniereLigne, 36))
     
    tabl.Select
     
     
     
    For Each cell In tabl
     
    ActiveCell.FormulaR1C1 = _
     
            "=IF(ISERROR(VLOOKUP(RC[-32],'Feuil1'!R2C1:R26C2,2,FALSE)=TRUE),""Non trouvé"",(VLOOKUP(RC[-32], 'Feuil1'!R2C1:R26C2,2,FALSE)-RC[-24]))"
     
        If IsNumeric(cell.Value) = True Then
     
            If Abs(cell.Value) > a Then
     
            cell.Interior.ColorIndex = 3
     
            titi = False
     
            Else
     
            cell.Interior.ColorIndex = 0
     
            End If
     
        Else
     
        cell.Interior.ColorIndex = 3
     
        titi2 = False
     
        End If
     
    Next cell
     
     
     
    If titi = True And titi2 = False Then
     
    MsgBox ("blabla1")
     
    End If
     
     
     
    If titi = False And titi2 = True Then
     
    MsgBox ("blabla2")
     
    End If
     
     
     
    If titi = True And titi2 = True Then
     
    MsgBox ("blabla3")
     
    End If
     
     
     
    If titi = False And titi2 = False Then
     
    MsgBox ("blabla4")
     
    End If

    Merci pour votre aide.
    Michel

  2. #2
    Membre éprouvé
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Par défaut
    Bonjour
    alors comme je vois pas trop pourquoi la boucle ne se fait pas
    as-tu vérifié si ta variable derniere ligne était bien remplie?
    Sinon ajoute au début de boucle un cell.select car la sélection est toujours tabl et non pas la cellule en question il écrit donc la formule dans la première cellule de tabl pour chaque cellule parcourue
    ca marche?
    rémi

  3. #3
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Curieux...
    Tu utilises bien cell pour la mise en forme et pas pour la formule...

    Remplace ActiveCell par cell et ça va rouler!
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

Discussions similaires

  1. Réponses: 39
    Dernier message: 30/09/2014, 14h57
  2. [VBA-XLA]Formule qui efface la cellule, est ce possible?
    Par EvaristeGaloisBis dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 14/06/2007, 13h51
  3. VBA,Graphiques :Series qui pointent sur des Range Discontinu
    Par CCHEVALIER dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/09/2005, 14h05
  4. [VBA-E] Barre d'outil créée automatiquement
    Par gjeff dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/12/2002, 16h45

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