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 :

[Débutant] - Récuperer nombres dans une variable [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2011
    Messages : 2
    Par défaut [Débutant] - Récuperer nombres dans une variable
    Bonjour,

    J'importe des données dans un fichier exel, qui contiennnent, en autre, les valeurs suivantes :

    Col X
    2168
    2182-2185
    2182,2183,2184
    2182-2184,2170-2175

    J'ai une macro excel, qui recupère les nombres de la colonne B dans une variable, afin de pouvoir les copier dans une autre feuille.
    Lorsqu'il s'agit d'un nombre entier pas de soucis, mais ce que je souhaiterai faire, c'est de pouvoir récuperer dans cette variable, les nombres
    de la colonne X, décomposés de la manière suivante :

    col X
    2182,2183,2184,2185
    2182,2183,2184
    2182,2183,2184,2170,2171,2172,2173,2174,2175

    ex : 2182-2185 : plage de nombre de 2182 à 2185

    Avez vous une idée pour coder ça

    Merci d'avance pour aide.

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour
    Une proposition
    Données sources en A1:A5 de Feuil7
    Plage de destination B1:B5 de Feuil7
    (J'ai utilisé la point virgule comme séparateur des données résultat)
    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
    Sub MonTest()
    Dim i As Integer, j As Integer, k As Integer, m As Integer
    Dim S As String
    Dim Tb, B, C
     
    Tb = Sheets("Feuil7").Range("A1:A5") 'Adapter le nom de la feuille et la plage de données source
    For i = 1 To UBound(Tb, 1)
        B = Split(Tb(i, 1), ",")
        For j = 0 To UBound(B)
            C = Split(B(j), "-")
            For k = C(0) To C(UBound(C))
                S = S & ";" & C(0) + m
                m = m + 1
            Next k
            m = 0
        Next j
        Tb(i, 1) = Mid(S, 2)
        S = vbNullString
    Next i
    Sheets("Feuil7").Range("B1:B5").Value = Tb 'Adapter le nom de la feuille et la plage de données destination
    End Sub

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2011
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 258
    Par défaut
    Coucou,

    Si j'ai bien compris tu n'as qu'à utiliser split.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    mot = Range("").Value 'tu mets la cellule que tu veux
        i = 0
        Do While (Split(mot, ",")(i) <> "")
            Debug.Print Split(mot, ",")(i)
            i = i + 1
        Loop
    Edit: Oups trop tard

  4. #4
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2011
    Messages : 2
    Par défaut
    Merci beaucoup à vous deux, je teste ça et vous fais un retour.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 30/09/2006, 15h14
  2. Réponses: 4
    Dernier message: 11/09/2006, 08h29
  3. lancer wget et récuperer le fichier dans une variable
    Par luc-b dans le forum Général Python
    Réponses: 8
    Dernier message: 10/05/2006, 10h47
  4. [Débutant]Comment faire des tranches de nombre dans une tabl
    Par Jedecouvreaccess dans le forum Access
    Réponses: 7
    Dernier message: 05/09/2005, 08h46
  5. Récuperer un nombre dans une chaine de caractère
    Par ColonelHati dans le forum C
    Réponses: 4
    Dernier message: 27/04/2005, 14h50

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