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 :

formulalocal pour une page complète ?


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 formulalocal pour une page complète ?
    Bonjour,

    je cherche à utiliser cette formule:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =SI(H6<N2;"";SI(J6<N2;"";SI($G6=AA$5;$W6*0,9;SI($I6=AA$5;$W6*0,1;""))))
    Seulement je voudrais que seules les cellules qui ont des $ bougent.
    Alors comment je fais ? je connais formula R1C1, formulalocal, formula mais je ne sais pas laquelle pourrait me permettre de faire ma formule de la cellule A1 à Y300 avec les cellules qui ont des $ qui bougent (comme une formule dans Excel en fait)

    j'espère que j'arrive à me faire comprendre

  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 546
    Points
    15 546
    Par défaut
    Citation Envoyé par melodyyy
    Seulement je voudrais que seules les cellules qui ont des $ bougent
    Qu'entends-tu par là ?
    Si c'est pour que le N° de ligne ou de colonne des fameuses cellules s'incrémentent au grés de leurs positions, tu supprimes les $, soit de la ligne pour une recopie vers le bas, soit de la colonne pour une recopie vers la droite ou la gauche.
    Mais si tu expliques exactement ce que tu veux faire... Comme d'ab'
    A+

  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 tu sais quand tu mets une fomule dans une feuille Excel et que tu prends la poignée de recopie tu fais bouger toutes tes cellules. Elles augmentent toutes de 1.

    Moi je voudrais ça mais que pour les cellules qui ont des $ dans ma formule et ça sur une page. Si je ne me trompe pas formulaR1C1 permet d'appeler une formule pour une cellule masi pas de l'incrémenter sur une page.

    je voudrais donc que ma formule augemente de 1 que pour les cellules qui ont des $ et qu'elle s'incrémente sur toutes mes cellules de A1 à Y500. C'est possible ou pas ? J'ai aucune idée de ce qu'on peut faire...


    De plus, comment tu ferais dans la même formule pour dire que $G6=AA$5;$W6 +1 cellule vers la droite*0.9 etc...

    tu vois ? Ce serait pour décaler de mois...ça ferait mois 0 +1

  4. #4
    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 546
    Points
    15 546
    Par défaut
    Je n'ai rien compris !
    Tu ne peux pas incrémenter un N° de colonne dont l'adresse est une adresse absolue. Dans $W6, "$" signifie que la colonne est figée, par contre, le N° de ligne ne l'est pas. Tu peux, en recopiant vers le bas, adapter le N° ligne. Tu ne peux pas, en recopiant vers la droite, incrémenter le N° de colonne.
    Mais comme je n'ai rien compris...
    Ne peux-tu pas t'exprimer clairement ?
    - J'ai une formule dans une cellule -> La formule
    - Je souhaite, dans la colonne suivante de la même ligne obtenir la formule -> La formule
    - Je souhaite, sur la ligne suivante de la même colonne, obtenir la formule -> La formule
    Tu peux faire ça pour nous ?
    Merci

    NB - D'ailleurs, si tu ne le fais pas, ce sera tant pis pour toi

    PS - Tu sais qu'on est brave !

  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
    Alors en cellule AA6 j'ai ceci:

    =SI(H6<N2;"";SI(J6<N2;"";SI($G6=AA$5;$W6*0,9;SI($I6=AA$5;$W6*0,1;""))))
    En cellule AA7 je veux ceci:
    =SI(H7<N3;"";SI(J7<N3;"";SI($G7=AA$5;$W7*0,9;SI($I7=AA$5;$W7*0,1;""))))
    Et en cellule AB6 je veux ceci:
    =SI(I6<O2;"";SI(K6<O2;"";SI($G6=AB$5;$W6*0,9;SI($I6=AB$5;$W6*0,1+AB6;""))))
    Voila par exemple tu vois à peu près ?

  6. #6
    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 546
    Points
    15 546
    Par défaut
    Eh ben voilà !
    Donc, tu veux incrémenter le N° de ligne de toutes les adresses sauf les adresses absolues. Pour ça tu dois définir ta plage de recopie (ligne, colonne) en supposant que tu souhaites recopier ta formule jusqu'à la ligne 22...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Range("AA6").AutoFill Destination:=Range("AA6:AA22")
    Si ce n'est pas 22... tu changes

  7. #7
    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'avais déja fais ça une fois, je vais essayer voir ce que ça donne merci !!!

  8. #8
    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 marche pas !

    J'ai erreur définit par l'application ou par l'objet...

    j'ai demandé ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Range("AA6").AutoFill Destination:=Range("Y6:AJ22")

  9. #9
    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 546
    Points
    15 546
    Par défaut
    Corrigé (!)
    Tu n'as pas remarqué que la copie se faisait sur 1 colonne, la même que celle contenant la donnée à recopier ? Si tu veux recopier la colonne sur les autres, je ne sais pas si on peut le faire en un seul traitement mais dans l'ignorance, je le ferais ligne par ligne.
    Ceci dit, comme tu copies vers une colonne < à la colonne contenant la formule à copier, tu dois d'abord copier vers la gauche, puis une fois fait, recopier vers la droite.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("AA6").AutoFill Destination:=Range("Z6:Y6")
    Range("Y6").AutoFill Destination:=Range("Y6:AJ6")
    puis, de Y à AJ, recopier ta ligne 6 vers le bas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For NoCol = 25 to 36
         Cells(6,NoCol).AutoFill Destination:=Range(Cells(7,NoCol),Cells(22,NoCol))
    Next
    Tu testes ?

  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
    voila c'est ce que je faisais sur un autre fichier je savais pas si ça marchait la...

    ok merci je testerais demain !

  11. #11
    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 : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Citation Envoyé par melodyyy Voir le message
    je testerais demain !
    Il me semble que demain est longtemps passé...

  12. #12
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    A mon humble avis, ce que tu demande résulte de deux actions diferentes
    d'abord, une incrementation vers le bas, puis une vers la gauche (ou vers la droite ?) bref si on fait l'action sous excel, on incrémente d'abord dans un sens (disons le bas ) et on fait apparaitre le $ pour certaine valeur, puis si on veut incrementer dans l'autre sens, on doit suprimer les $ dans chaque celule de la colonne et les placer ailleurs. je vais pas reprendre ton exemple qui est un peut compliqué pour te le démontrer mais disons que tu veux aditioner les nombres deux par deux dans la colonne A
    A1 et A2 en A5
    A1 et A3 en A6
    A1 et A4 en A7
    tu tapes =$A$1+A2 en A5 puis tu incremente jusque A7 pour obtenir
    =$A$1+A3 en A6 et =$A$1+A4 en A7.
    maintenant ou ça se complique c'est si tu veux incrementer vers la droite et obtenir la meme chose en colonne B
    si tu laisse $A$1 dans ta colonne B tu n'auras pas ce que tu souhaite c'est a dire $B$1 tu dois donc, avant d'incrémenter, tes trois formules, et dans chaque formule A5 A6 et A7 placer le signe $ autrement, ce n'est pas possible en une seule opération. enfin ce que j'en dis, n'est qu'une autre façon d'exprimer ce que les autres ont déjas dis

Discussions similaires

  1. [TinyMCE] Intégration pour édition d'une page complète
    Par nanex21 dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 06/01/2010, 13h25
  2. plusieurs css pour une page
    Par difficiledetrouver1pseudo dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 20/02/2006, 21h30
  3. Aspirer une page complète
    Par sami_c dans le forum Langage
    Réponses: 8
    Dernier message: 17/01/2006, 18h59
  4. problèmes avec "include file" pour une page asp
    Par chipsense dans le forum ASP
    Réponses: 1
    Dernier message: 02/09/2005, 15h22
  5. expiration du délai pour une page
    Par yahia dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 21/06/2004, 12h03

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