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 :

Tirer les formules avec boucle et condition excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Points : 50
    Points
    50
    Par défaut Tirer les formules avec boucle et condition excel
    au secours !!!

    je dosi tirer les formules d'une ligne avec condtion. Si dans la cellule il y'a un 0 alors je tire jusqu'en bas de la colonne.

    Je dois donc installer une boucle: do while


    mais j'ai l'impression de pas savoir m'en servir aidez moi !

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Citation Envoyé par melodyyy
    Si dans la cellule il y'a un 0 alors je tire jusqu'en bas de la colonne.
    Qu'entends-tu par là ? Que tu dois mettre des zéro sur toutes les cellules renseignées de la colonne à partir du zéro ? Ou bien jusqu'à la ligne 65536 ?
    Je prends l'hypothèse N° 1
    D'abord, tu dois identifier ta dernière ligne renseignée, puis, une fois le zéro rencontré, recopier le zéro vers le bas jusqu'à la dernière ligne.
    Tu dis

  3. #3
    Membre du Club Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Points : 50
    Points
    50
    Par défaut
    en fait je dois dire:
    Si tu trouve un 0 dans la cellule alors tu etend la formule jusqu'a la fin.Mais pas en linéaire comme le ferait l'enregisteur de macro...

    donc il me faut une boucle, et pi j'y arrive pas je me sens super nulle c'est déprimant

  4. #4
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    Citation Envoyé par melodyyy
    au secours !!!

    J'adore les messages qui commencent comme ça

    J'ai pas trop compris ton message par contre Il faut que tu tire une formule a partir du 0 jusqu'a la fin ?


    Et tu n'es pas nulle, tu apprend c'est pas pareil
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  5. #5
    Membre du Club Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Points : 50
    Points
    50
    Par défaut
    en tu as une cellule, avec une fomule, qui donne 0.
    si j'ai ça je tire cette formule jusqu'en bas, si j'ai pas ça je tire pas

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par melodyyy
    en tu as une cellule, avec une fomule, qui donne 0.
    si j'ai ça je tire cette formule jusqu'en bas, si j'ai pas ça je tire pas
    essai de dire cela autrement ... en supprimant "tirer" et "jusqu'en bas" ...soit plus claire...

  7. #7
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    Tu n'aurai pas une xemple sinon avec des valeurs ?
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    J'ai sans doute pas tout compris mais essaie ça et dis-nous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim Plage, NoColonne, ValCherchée, etc
        ValCherchée = 0
        NoColonne = 3
        DernièreLigne = Cells(1, NoColonne).SpecialCells(xlCellTypeLastCell).Row
        Plage = Range(Cells(1, NoColonne), Cells(DernièreLigne, NoColonne)).Address
        With Range(Plage)
                Set c = .Find(ValCherchée, LookIn:=xlValues)
                If Not c Is Nothing Then
                    Range(Cells(ActiveCell.Row, NoColonne), Cells(DernièreLigne, NoColonne)).Select
                    Selection.FillDown
                End If
        End With
    A+

    PS - bill se chargera de simplifier ma plage

  9. #9
    Membre du Club Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Points : 50
    Points
    50
    Par défaut
    ça peut pas le faire j'ai un énorme fichier, et en fait mon fichier commence par à la ligne 20 tu vois ?
    et le numéro de la cellule je le connais comment ?

  10. #10
    Membre du Club Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Points : 50
    Points
    50
    Par défaut
    de plus j'ai des colonnes cachées...

  11. #11
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    Citation Envoyé par melodyyy
    ça peut pas le faire j'ai un énorme fichier, et en fait mon fichier commence par à la ligne 20 tu vois ?
    et le numéro de la cellule je le connais comment ?

    Tu fais un exemple bidon a ta manière avec des faux chiffres
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  12. #12
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Là, tu te moques
    Tu ajoutes ScreenUpdating = false au début, tu affiches ta colonne masquée, et tu mets ScreenUpdating =true à la fin,

    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
    Dim Plage, NoColonne, ValCherchée, etc
        Application.ScreenUpdating = false
        NoColonne = 3
        Cells(1, NoColonne).EntireColumn.Hidden = False
        NoPremièreLigne = 20
        ValCherchée = 0
        DernièreLigne = Cells(NoPremièreLigne, NoColonne).SpecialCells(xlCellTypeLastCell).Row
        Plage = Range(Cells(NoPremièreLigne, NoColonne), Cells(DernièreLigne, NoColonne)).Address
        With Range(Plage)
                Set c = .Find(ValCherchée, LookIn:=xlValues)
                If Not c Is Nothing Then
                    Range(Cells(ActiveCell.Row, NoColonne), Cells(DernièreLigne, NoColonne)).Select
                    Selection.FillDown
                End If
        End With
        Cells(1, NoColonne).EntireColumn.Hidden = True
        Application.ScreenUpdating = True
    Mais tu peux toujours nous demander si tu as besoin de quelque chose

  13. #13
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Pour l'histoire du gros fichier, ce n'est pas parce que tu as plus de deux lignes dans ta macro qu'elle est plus lente
    Find sera toujours plus rapide qu'un examen ligne par ligne

  14. #14
    Membre du Club Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Points : 50
    Points
    50
    Par défaut
    je me moque pas je connais pas VBA ou presque pas j'apprends...

    c'est compliqué comme macro non pour juste tirer une formule ?

  15. #15
    Membre du Club Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Points : 50
    Points
    50
    Par défaut
    j'ai pas pu tester il veut pas de:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(Cells(ActiveCell.Row, NoColonne), Cells(DernièreLigne, NoColonne)).Select

  16. #16
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Et d'abord, on ne dit pas tirer une formule mais recopier... Si j'ai bien compris ce que tu voulais faire
    Mais effectivement, tu peux tout faire à la main, c'est plus simple



    Te formalise pas, j'aime bien taquiner

  17. #17
    Membre du Club Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Points : 50
    Points
    50
    Par défaut
    ben oui mais y'a trop trop de colonnes...la macro dvient extra grande...
    du coup au taf ils veulent pas

  18. #18
    Membre du Club Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Points : 50
    Points
    50
    Par défaut
    bon alors...
    ta 2eme macro en fait est refusée par VBA parce que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    derniereligne=cells(nopremiereligne,35).SpecialCells(xlCellTypelastCell).row
    il en veut pas. Le 35 c'est pour moi, le numéro de la colonne...

  19. #19
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Peut tu donner l'erreur que vb te donne ?
    Et par curiosité, il y a combien de ligne dans ta macro ?
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  20. #20
    Membre du Club Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Points : 50
    Points
    50
    Par défaut
    il me met l'erreur 1004
    et j'ai 565 lignes dans mon fichier

Discussions similaires

  1. [XL-2010] Formule avec boucle For dans une macro
    Par Derfixien dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/09/2014, 22h18
  2. : dans les formules au lieu du ; sous excel 2010
    Par qmike dans le forum Excel
    Réponses: 2
    Dernier message: 24/01/2013, 16h26
  3. Selectionner toutes les CheckBoxs avec boucle imbriquée.
    Par Azaxx dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 27/07/2011, 14h51
  4. Réponses: 6
    Dernier message: 16/05/2008, 09h04
  5. problemes tirer les formules excel
    Par melodyyy dans le forum Macros et VBA Excel
    Réponses: 26
    Dernier message: 27/10/2006, 18h15

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