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 :

Excel-VBA : Formule longue sur plusieurs lignes erreur fin d'instruction [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Technicien chimiste
    Inscrit en
    Mars 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Technicien chimiste
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2014
    Messages : 2
    Par défaut Excel-VBA : Formule longue sur plusieurs lignes erreur fin d'instruction
    Bonjour à tous,

    Je suis nouvelle sur ce forum et débutante en VBA, je demande donc votre indulgence

    J'ai une formule longue que je n'arrive pas à découper sur plusieurs lignes, excel me donne une erreur de fin d'instruction.

    Comme ma formule est bien trop longue je vous supprime une bonne partie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sheets("BDD").Cells(ligne, 10) = _
        "=IF(RC[1]=""Vanadium (V) (ICP/MS) Eluat"",""Métaux"",IF(RC[1]=""Etain (Sn) (ICP/MS) Eluat"",""Métaux"",IF(RC[1]=""Vanadium (V)"",""Métaux"",IF(RC[1]=""Titane (Ti)"",""Métaux"",IF(RC[1]=""Potassium (K)"",""Métaux"",IF(RC[1]=""Phosphore (P)"",""Métaux"",IF(RC[1]=""Magnésium (Mg)"",""Métaux"",""Pasdefamille"")))))))
    Où dois-je la découper ? et comment ? j'ai fait "espace_"

    j'ai fait comme ceci mais il me dit qu'il y a une erreur de compilation...:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sheets("BDD").Cells(ligne, 10) = _
        "=IF(RC[1]=""Vanadium (V) (ICP/MS) Eluat"",""Métaux"",IF(RC[1]=""Etain (Sn) (ICP/MS) Eluat"",""Métaux"",IF(RC[1]=""Vanadium (V)"",""Métaux"", _
     
    IF(RC[1]=""Titane (Ti)"",""Métaux"",IF(RC[1]=""Potassium (K)"",""Métaux"",IF(RC[1]=""Phosphore (P)"",""Métaux"",IF(RC[1]=""Magnésium (Mg)"",""Métaux"",""Pasdefamille"")))))))
    Je vous remercie d'avance pour votre précieuse aide !

    Pauline

  2. #2
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut formule longue
    Bonsoir,

    Ne serait-il pas préférable de privilégier l'instruction "select case ..... end select" à cet empilage de "si ... sinon"

    Par ailleurs, il serait mieux de fournir l'algorithme de ce que tu souhaites .

    cordialement,

  3. #3
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je ne peux qu'abonder dans le sens de Paul.
    Cependant s'il faut vraiment placer une formule dans le classeur Excel je m'interroge sur la raison de passer par du code VBA au lieu de taper la formule sur la première cellule de la colonne et ensuite de la recopier vers le bas.
    Et pour ma part avec une formule d'excel avec autant de SI imbriqué, je passe automatiquement par la formule RECHERCHEV avec une liste des données paramètres dans une feuille spécifiquement destinée à cet effet.
    Dans la feuille que je nommerai pour l'exemple [ParameterList]
    En cellule :
    A2 : Vanadium (V) (ICP/MS) Eluat
    B2 : Métaux
    A3 : Etain (Sn) (ICP/MS) Eluat
    B3 : Métaux
    et ainsi de suite pour les autres données de la ligne 2 vers la ligne 10 par exemple.
    La formule se résumerait alors par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV($A2;ParamterList!$A$2:$B$10;2;FAUX)
    A traduire en VBA si vraiment c'est indispensable.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  4. #4
    Candidat au Club
    Femme Profil pro
    Technicien chimiste
    Inscrit en
    Mars 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Technicien chimiste
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2014
    Messages : 2
    Par défaut Merci pour votre aide !
    Bonjour,


    Merci beaucoup pour vos réponses. Je vais utiliser votre solution Philippe : rechercheV traduit en VBA.

    Je vous remercie pour votre aide !

    Bonne continuation et sûrement à bientôt sur le site !

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

Discussions similaires

  1. Comment écrire une ligne de code très longue sur plusieurs lignes
    Par Vincent32 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 06/11/2018, 09h28
  2. [VBA-E] renvoyer le resultat d'un inputbox sur plusieur lignes
    Par ludo02 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/02/2007, 17h58
  3. Réponses: 7
    Dernier message: 15/12/2006, 16h14
  4. [VBA-E]filtre sur plusieurs Critères avec Excel
    Par Diablo_22 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/05/2006, 20h34
  5. excel VBA comment recopier sur plusieurs feuilles
    Par floflo2006 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/11/2005, 15h56

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