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 :

[E-03] split dans excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 64
    Par défaut [E-03] split dans excel
    Bonjour!

    Existe-t-il une fonction excel equivalente à la fonction VBA split?

    Merci!

  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
    Par défaut
    Comment verrais-tu ça ? Une formule qui renvoie un tableau ? Quel problème as-tu à résoudre ?
    Split a besoin de trois infos, comment les envoies-tu ?
    La seule possibilité que je vois serait l'utilisation d'une fonction, fonction split à laquelle tu enverrais texte ou adresse de cellule, séparateur ou adresse de cellule, et indice ou adresse de cellule.
    La formule dans la cellule pourrait être alors
    =Split03(A1;" ";5)
    où A1 contient une phrase,
    et la fonction placée dans un module standard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function Split03(LeString, separateur, indice)
        Split03 = Split(LeString, separateur)(indice)
    End Function
    code qui renverra le 6ème mot de la phrase placée en A1
    Bon après-midi

  3. #3
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,
    Il n'y a à ma connaissance pas de fonction Excel déjà existante pour faire ce que tu veux faire !
    La seule solution est donc (salut Ousk) de créer une fonction personnalisée (en VBA, donc)

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 64
    Par défaut
    Merci Ouskel'n'or

    Je ne voulais pas trop ennuyer avec des détails alors j'ai fait court.
    Tu avais bien compris ce que je voulais: Les trois infos étant rentrées manuellement et la formule copiée et collée au besoin dans la feuille.
    On arrive parfois à faire pas mal de choses à l'aide des fonctions d'excel et quand on partage les fichiers avec d'autres (pas toujours les mêmes) ça évite les problèmes de message de sécurité qu'excel envoie et qui effraie un peu les novices, alors quand je le peux et que le fichier est destiné à d'autres, j'essaye tant que possible d'éviter le code, d'où ma question.
    J'ai cherché et n'ai pas trouvé alors j'ai posté...
    Tu me donnes la réponse en me donnant la fonction (je n'en demandais pas tant!!!). Donc pas de fonction excel, alors faut du code.

    Pendant que j'y suis. Je ne poste pas souvent car en général je trouve la réponse à mes questions dans les tutos et/ou les posts des autres et c'est souvent toi (pas toujours!!) qui y répond, alors merci aussi pour toutes tes contributions qui m'ont bien souvent aidé indirectement.
    Bon après midi à toi aussi.

  5. #5
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut
    Citation Envoyé par ouskel'n'or Voir le message
    Comment verrais-tu ça ? Une formule qui renvoie un tableau ? Quel problème as-tu à résoudre ?
    Split a besoin de trois infos, comment les envoies-tu ?
    La seule possibilité que je vois serait l'utilisation d'une fonction, fonction split à laquelle tu enverrais texte ou adresse de cellule, séparateur ou adresse de cellule, et indice ou adresse de cellule.
    La formule dans la cellule pourrait être alors
    où A1 contient une phrase,
    et la fonction placée dans un module standard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function Split03(LeString, separateur, indice)
        Split03 = Split(LeString, separateur)(indice)
    End Function
    code qui renverra le 6ème mot de la phrase placée en A1
    Bon après-midi
    Bonjour,
    Si je peux me permettre de rajouter mon grain de sel,
    la fonction «Split03» ne nécessite pas d'être surchargée du paramètre indice qui en limite la réutisation dans un éventuel autre contexte. (remarque de puriste lol )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function SplitInSheet(strInput As String, Optional strSeparateur As String = "|") As String()
        SplitInSheet = Split(strInput, strSeparateur)
    End Function
    appelée par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(SplitInSheet("a|b|c");2)

    Citation Envoyé par androginius Voir le message
    .../...
    Pendant que j'y suis. Je ne poste pas souvent car en général je trouve la réponse à mes questions dans les tutos et/ou les posts des autres .../...
    C'est trop rare pour ne pas mériter d'être félicité.

  6. #6
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    Bonjour à tous

    Histoire de se faire plaisir et apres une consommation importante de dolicrane

    Split en Formule (Formule matricielle)

    En A1 : La Designation à spliter
    En B1 : Le séparateur
    En C1 : L'index à récuperer(de 1 à xxxx)
    En D1 la Formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(NBCAR(A1)-NBCAR(SUBSTITUE(A1;B1;""))+1<C1;"";STXT(B1&A1&B1;PETITE.VALEUR(SI(STXT(B1&A1 & B1;LIGNE(INDIRECT("1:"& NBCAR(B1&A1 & B1)));1)=B1;LIGNE(INDIRECT("1:" & NBCAR(B1&A1 & B1)));9^9);C1)+1;PETITE.VALEUR(SI(STXT(B1&A1 & B1;LIGNE(INDIRECT("1:"& NBCAR(B1&A1 & B1)));1)=B1;LIGNE(INDIRECT("1:" & NBCAR(B1&A1 & B1)));9^9);C1+1)-1-PETITE.VALEUR(SI(STXT(B1&A1 & B1;LIGNE(INDIRECT("1:"& NBCAR(B1&A1 & B1)));1)=B1;LIGNE(INDIRECT("1:" & NBCAR(B1&A1 & B1)));9^9);C1)))
    testée sur Excel97

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 64
    Par défaut
    Wilfried_42: !!
    Je suis impressioné!

    Merci à tous ceux qui se sont penché sur le problème, je ne pensais vraiment pas déclencher autant d'intérêt avec ma petite question que j'ai presque hésité à poser...
    Ça prouve qu'il ya des gens qui aiment vraiment ce qu'ils font; ça donne du courage.

    A bientôt.

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

Discussions similaires

  1. DEBUTANT excel: split dans vba
    Par LOUPO dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 17/08/2006, 17h25
  2. [VB6] sélection multiple de colonne dans excel grâce à VB
    Par biquet dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 02/08/2004, 12h44
  3. [VBA] Les propriétés de cellule dans Excel
    Par Kylen dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 05/07/2004, 23h02
  4. [VBA-E] Ajouter des fonctions dans Excel
    Par Clezio dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/03/2004, 01h18
  5. [EXCEL]Modifier les marges d'une page dans Excel
    Par ms91fr dans le forum Composants VCL
    Réponses: 4
    Dernier message: 06/01/2004, 15h26

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