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 :

Fonctions vba en excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 66
    Par défaut Fonctions vba en excel
    J ai une fonction toute simple =SI(B3=1;1;2) mais je duplique cela sur plusieurs lignes
    Or je le fais en VBA, donc ça me donne cela en VBA "=IF(R[-8]C[-7]=1,1,2)" et en dupliquant cela sur plusieurs lignes, c est assez horrible
    Mais si par malheur un jour je veux changer ma cellule B3 en B4, ça fait des changements énormes en VBA,
    Qqun a une solution ? Comment garder en VBA le nom des cellules (par ex B3)

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 555
    Par défaut
    tu as
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "=IF(R[-8]C[-7]=1,1,2)"
    si tu paramétrais le -8 et le -7

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "=IF(R[-" & lig & "]C[-" & col & " ]=1,1,2)"
    Si B3 ==> lig = 8 et col = 7
    Si B4 ==> lig = 8 et col = 6

    J'ai aps testé mais je creuserais de ce côté à ta place
    S itu étires ta formuls sur tout les lignes, col, rsete fixe et lig doit s'incrméenter si je comprends bien

    Il te suffit alorsde les définir en constante au départ et tu incrémenteras lig au fur et à mesure que tu étires ta boucle

    Exemple si tu veux l'étirer sur 10 ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    dim i,j as integer
    i=lig
    j=1
    while j<=10
    cells(3+i,2+7).value = "=IF(R[-" & i & "]C[-" & col & " ]=1,1,2)"
    i=i+1
    j=j+1
     
    wend

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 66
    Par défaut
    Le problème est que ma condition change de ligne en ligne aussi, j ai mis cet exemple pour simplifier mon exemple
    Mais par exemple, pour la ligne suivante, ma condition sera


    "=IF(R[-9]C[-8]=1,toto,titi)"
    ce sont des conditions bien différentes de ligne en ligne, chose que je ne peux parametrer
    enfin bon je vais voir ce que je peux faire avec ce que tu m as donné

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 555
    Par défaut
    faudrait te replir une sorte de tableau au départ qui conteindrait toutes tes conditions pour chaque ligne
    Ensuite tu parcours le tableau en même temps que les lignes pour récupére els conditions

  5. #5
    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
    Si tu ne nous donnes pas toutes les infos, on te répondra approximativement.
    Citation Envoyé par hiline6
    en dupliquant cela sur plusieurs lignes, c est assez horrible
    Ca veut dire quoi?

    Si, déjà, tu nous disais dans quelle cellule tu mets ta formule, ça nous aiderait vachement.
    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. [XL-2007] Appeler Une fonction VBa Dans Excel
    Par stevekho dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/08/2010, 14h06
  2. Fonction VBA sous Excel 2004 pour MAC
    Par tatayer_42 dans le forum Excel
    Réponses: 3
    Dernier message: 08/08/2008, 17h26
  3. Documenter une fonction vba sous excel
    Par massalf dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 29/10/2007, 21h42
  4. recopie conditionnel par fonction VBA sous Excel
    Par LinusVince dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/02/2006, 18h33
  5. [VBA-E]Executer fonction VBA sur Excel sans activer la macro
    Par marie10 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 19/01/2006, 14h34

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