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 :

Utiliser Split avec des valeurs relatives [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Utiliser Split avec des valeurs relatives
    Bonjour,
    je souhaite récupérer dans un tableau les valeurs d'une cellule à l'aide de la commande split. Ma cellule contient 2 éléments séparés par 1 "."
    Je fais varier les N° de ligne et de colonne avec un index. L'index de la ligne fonctionne en revanche l'index de la colonne me renvoie un nombre et visiblement split n'aime pas ça ...

    Ca ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Tableau = Split(Wsh1.Range(N_Col & N_Ligne + 1).Value, ".")
    Ca ça marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Tableau = Split(WshEqt.Range("A" & L_Deb_LT + 1).Value, ".")
    Une idée ?
    Merci pour votre aide.

    Bonne journée

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Dans la mesure ou nous ne savons pas d'où vient Wsh1, je te suggèrerais d'utiliser WshEqt qui fonctionne!

    Wsh1.cells( N_Ligne + 1,Col)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci pour ta réponse mais pas de lien. Quand j'utilise une lettre de colonne associée à une variable pour la ligne, ça fonctionne. En revanche lorsque l'index pour les colonnes est un chiffre et non une lettre ça ne marche pas.

  4. #4
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 127
    Points : 9 956
    Points
    9 956
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    tu n'as pas remarqué mais dysorthographie te montre également l'utilisation de l'objet Cells(). Avec ça, tu peux travailler sur le numéro de colonne au lieu de la lettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Range("A1") = Cells(1,1)
    Range("Z10") = Cells(10,26)
    Cells(N°Lig,N°Col)

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    J'ai essayé de remplacé Range par Cells dans ma fonction Split mais ça ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
              Tableau = Split(Wsh1.Range(N_Col & N_Ligne + 1).Value, ".")
              Tableau = Split(Wsh1.Cells(N_Col & N_Ligne + 1).Value, ".")
    Dans mes cellules A2, B2, C2, D2 ... j'ai un élément de type XXX-1.Z
    J'ai besoin de récupérer XXX-1 dans une variable et .Z dans une seconde. Par le passé, j'ai déjà utilisé Split avec une lettre de colonne mais jamais avec un index chiffré.
    Il y a peut être moyen d'utiliser une autre fonction mais je n'ai pas trouvé.

  6. #6
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 430
    Points
    12 430
    Par défaut
    Bonjour
    Quand comptes-tu commencer à lire attentivement les réponses très précises que t'ont faites dysorthographie et joe.levrai, que je salue ?

    EDIT : j'observe que la notation cells pour désigner une plage ne t'est pourtant pas inconnue, si j'en juge par le 1er paragraphe de ton premier message dans cette discussion :
    https://www.developpez.net/forums/d1...ent-d-feuille/
    ...

  7. #7
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 127
    Points : 9 956
    Points
    9 956
    Billets dans le blog
    5
    Par défaut
    Cells(N°Lig,N°Col)

    je peux pas mettre en valeur plus en avant le problème sans que ça devienne illisible

    et si tu as plusieurs cellules, plutôt que de faire une boucle pour spliter chaque cellule, je te conseille plutôt de prendre ces valeurs, les placer sur un colonne en vertical et utiliser l'option "convertir" de excel avec le séparateur "." pour retrouver sur deux colonne tes cellules scindées

    il ne restera plus qu'à récupérer toutes tes valeurs pour les mettre dans un tableau

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Oups ... effectivement si je laisse le "&" au lieu de le remplacer par une "," ... ça peut pas marcher. Dès fois faudrait prendre un peu de recul au lieu de s'obstiner.

    Merci à vous

  9. #9
    Invité
    Invité(e)
    Par défaut
    Celle accepte invariablement des nombres ou de lettre pour la colonne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cells(1,1)
    Cells(1,"A")
    A charge a Joe d'intervenir sur la taille de la police!

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

Discussions similaires

  1. Utiliser un index avec des valeurs partielles
    Par camboui dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 02/09/2011, 13h08
  2. utilisation de edit avec des valeurs numériques
    Par oliv27400 dans le forum Interfaces Graphiques
    Réponses: 7
    Dernier message: 21/06/2010, 18h06
  3. Utiliser MySqlAdmin avec des droits utilisateurs sur XP
    Par thorgal85 dans le forum Outils
    Réponses: 2
    Dernier message: 18/03/2005, 12h19
  4. Réponses: 6
    Dernier message: 24/02/2005, 09h44
  5. Réponses: 6
    Dernier message: 04/04/2003, 15h28

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