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 :

appliquer une formule à certaines colonnes [XL-2010]


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
    Avril 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 177
    Par défaut appliquer une formule à certaines colonnes
    Bonjour,
    je souhaiterais appliquer cette formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(NBCAR(B2)="";"";SI(NBCAR(B2)=7;0&B2;TEXTE(B2;0)))
    aux colonnes J à X
    Merci d'avance

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Je vais te répondre de manière générale :
    Une plage P ayant été déterminée, on peut attribuer une formule à toutes les cellules de cette plage ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    P.formula = "=..formule/notation anglaise...."
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    P.formulalocal = "=..formule/notation locale...."
    sans préjudice de la formule elle-même, dont tu es seul à apprécier sa justesse.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 177
    Par défaut
    Désolé, je n'ai pas compris ce qu'il faut faire, comment faire pour déterminer une plage ? Comment attribuer une formule à une plage ?

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    - On spécifie une plage par l'instruction Set (une plage étant un objet).
    On la définit comme on définit toute plage ( Range(.....) )
    - pour ce qui est d'attribuer une formule aux cellules d'une plage, il me semble que je t'ai déjà répondu, non ?

    Il me semble également que tu cherches à mettre la charrue avant les boeufs (développer en VBA sans en avoir au moins acquis les rudiments ...). Ne compte pas sur moi pour t'encourager dans une telle voie (ce serait tout, sauf t'aider). J'observe que tu es inscrit ici depuis 2009 ...

    EDIT : par acquit de conscience, je viens d'ouvrir l'aide interne de VBA et d'y lire la rubrique Range.Formula, propriété --->> tout y est dit (y compris en ce qui concerne une plage multiple). !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 177
    Par défaut
    Tes explications m'ont permis d'avancer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub TravailSurUnePlage()
    Set MaPlage = Columns("J:W")
    MaPlage.Formula = "=SI(NBCAR(B2)="";"";SI(NBCAR(B2)=7;0&B2;TEXTE(B2;0)))"
    End Sub
    Je comprends mieux ta réponse "sans préjudice de la formule elle-même" car les formules ont écrasées les données (sur une copie)
    Un autre problème est apparu et dont je ne vois pas la solution c'est que c'est la formule qui s'affiche dans toutes les cellules des colonnes. Je connais la solution pour une seule cellule : clic doit/Format/choisir Standard/OK/F2 puis valider ....
    J'ai créer une macro pour voir ce que ça fait et ça a donné ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Macro1()
    ' Macro1 Macro
        Selection.NumberFormat = "General"
        ActiveCell.FormulaR1C1 = _
            "=IF(LEN(RC[-8])="";"",IF(LEN(RC[-8])=7,0&RC[-8],TEXT(RC[-8],0)))"
        Range("J3").Select
    End Sub
    ça n'a pas l'air de correspondre à /Format/choisir Standard/OK/F2 ...
    J'ai ajouté ça au code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Columns("J:W").Select
    Selection.NumberFormat = "General" mais je ne vois pas la solution car F2 correspnd à ça :
     ActiveCell.FormulaR1C1 = _
            "=IF(LEN(RC[-11])="";"",IF(LEN(RC[-11])=7,0&RC[-11],TEXT(RC[-11],0)))"
        Range("M3").Select

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    1) Cette difficulté est autre que celle objet de la discussion que tu as ouverte (attribuer une formule aux cellules de 2 colonnes) et ne concerne que la rédaction de la formule adaptée au résultat à obtenir. Elle devrait donc faire l'objet d'une discussion distincte, dans la section Excel
    2) prends l'habitude :
    - de montrer tes codes entre balises code (l'icône #)
    - de montrer un copié/collé exact du code écrit. Ce n'est pas le cas des codes montrés (qui, tels quels, auraient forcément engendré une erreur de compilation).

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

Discussions similaires

  1. Compter le nombre de colonnes et appliquer une formule
    Par oOLukyOo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/04/2015, 10h53
  2. Réponses: 2
    Dernier message: 19/03/2014, 14h47
  3. Réponses: 11
    Dernier message: 13/04/2013, 15h25
  4. [XL-2003] Appliquer une formule à toutes les lignes d'une colonne sans en connaitre le nombre à l'avance
    Par Chevrefeuille dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 08/04/2010, 14h43
  5. Réponses: 5
    Dernier message: 14/03/2008, 17h01

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