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 :

FormulaArray qui dépasse 255 caractères


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
    Juin 2013
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 64
    Par défaut FormulaArray qui dépasse 255 caractères
    Bonjour, j'ai une fonction vba qui dépasse 255 caractères(la limite de la fonction FormulaArray ), comment je peux résoudre ce problème? Mon code est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Set Ws = ThisWorkbook.Worksheets("Qualif opérateur  ")
    Seuil = Ws.Range("M3")
    Range("O2").Select
    Range("O2:O2306").FormulaArray = _
            "=IF(RC[-14]='Orange Business S',IF(AND(RC[-4]<=60*(1+Seuil),RC[-4]>=60*(1-Seuil)),'OBS Bimestriel',IF(AND(RC[-4]>=30*(1-Seuil),RC[-4]<=30*(1+Seuil)),'OBS Mensuel'RC[-14])),IF(RC[-14]='SFR Fixe',IF(AND(RC[-4]>=30*(1-Seuil),RC[-4]<=30*(1+'Qualif opérateur " & _
            ")),'SFR Fixe Mensuel',IF(AND(RC[-4]<=60*(1+Seuil),RC[-4]>=60*(1-Seuil)),'SFR Fixe Bimestriel',IF(AND(RC[-4]>=121*(1-Seuil),RC[-4]<=121*(1+Seuil)),'SFR Fixe Quadrimestriel',RC[-14]))),IF(RC[-14]='SFR','SFR Mobile',RC[-14])))"
    Selection.AutoFill Destination:=Range("O2:O2306")
    Merci en avance

  2. #2
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,


    Peux-être que tu peux utiliser des plages nommées ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 64
    Par défaut
    Est-ce que vous pouvez détailler votre idée?

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    la bonne question est :

    arrives-tu à saisir une telle formule directement dans une cellule d'une feuille de calcul ?

    Dans la négative, ce n'est pas la peine d'insister …


  5. #5
    Invité
    Invité(e)
    Par défaut
    Salut,

    C'est assez bizarre l'affichage des textes sous VBA. Pour ma part, cela marche lorsque je fais:
    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
     
    [Table14[Colonne2]].Formula = "= COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" & "*COS([@Colonne1] _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
     _
    Le petit trait (caractère de continuïté) en dernière ligne ne doit pas être enlevé.

    Le nombre de caractères de continuïté semble être limité par contre.

    Nota : Je suis en VBA7
    Zut, j'ai modifié entre temps, en voulant rajouter encore un peu de texte, mais ça ne marche plus. En tout cas, la version posté ne marche plus. Et pourtant, ça a marché chez moi puisque j'ai essayé de compté le nombre de caractères avec la fonction NB.CAR et elle indiquait que je dépassé 255 caratères.

  6. #6
    Invité
    Invité(e)
    Par défaut
    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
    [Table14[Colonne2]].Formula = "= COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
    & "*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])*COS([@Colonne1])" _
     _
     _
     _
    Celui-ci fonctionne tel qu'il est.


Discussions similaires

  1. [XL-2013] Limite des 255 caractères dépassé
    Par Drami dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/02/2015, 14h09
  2. Variables string limité à 255 caractères?
    Par krfa1 dans le forum Access
    Réponses: 7
    Dernier message: 27/01/2006, 15h29
  3. SQL de plus de 255 caractères dans un recordset
    Par acama dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 05/01/2006, 15h50
  4. Bloc CSS qui dépasse...
    Par Silent dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 19/05/2005, 10h44
  5. [Application] Chaine de + de 255 caractéres
    Par Righetto Dominique dans le forum Langage
    Réponses: 6
    Dernier message: 26/03/2003, 22h49

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