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écouper une cellule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 19
    Par défaut Découper une cellule
    Bonjour,

    Je souhaiterais "découper" une cellule qui est du format suivant

    A :B 123456789

    J'aurais juste besoin de B et du chiffre afin de les coller dans une autre cellule

    Ce serait pour inclure dans une macro, avec plusieurs cellules à "découper", mais certaines différentes des autres:

    par exemple:

    A :B 123456789

    E :F 1234

    G : Date du jour

    etc...

    Est-ce que quelqu'un pourrait m'aider ?

    Merci d'avance

  2. #2
    Membre chevronné
    Inscrit en
    Août 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 360
    Par défaut
    Bonjour,

    Je n'ai pas vraiment compris la question, mais :

    Si ton "découpage" est toujours effectué de la même manière, essayes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Left(Ton_Champ, Ta_Valeur)
    A+

  3. #3
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour tlm,

    Résumons :
    • si la cellule contient A : B 123456789
      on récupère B dans une cellule et 123456789 dans une autre
    • si elle contient E : F 1234
      on récupère F dans une cellule et 1234 dans une autre
    • si elle contient G : Date
      dans ce cas là on récupère quoi ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 19
    Par défaut
    pour g:date je voudrais récupérer g dans une cellule et la date dans l'autre


    merci !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 54
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If Left(Cells(X, Y).Value, 1) = "A" Or Left(Cells(X, Y).Value, 1) = "E" Then
    	Cells(A, B).Value = Mid(Cells(X, Y).Value, 3, 1)
    	Cells(A, B+1).Value = Right(Cells(X, Y).Value, Len(Cells(X, Y).Value - 3)
    ElseIf Left(Cells(X, Y).Value = "G" Then
    	Cells(C, D).Value = Left(Cells(X, Y).Value, 1)
    	Cells(C, D+1).Value = Right(Cells(X, Y).Value, Len(Cells(X, Y).Value - 2)
    Else
    	MsgBox "Le contenu de la cellule ne commence pas par ""A"", ""E"" ou ""G""."
    End If
    pas test mais normalement c'est bon
    y a plus qu'a gérer les X, Y, A, B, C, D pour définir les cellules de départ et d'arrivées

    Ps : Méthodes de "découpage" :
    - Left(Valeur, Nombre de caractère) prend X caractère en partant de la gauche
    - Right(Valeur, Nombre de caractère) prend X caractère en partant de la droite
    - Mid(Valeur, position du premier caractère à prendre, nombre de caractère) prend X caractère à partir de Y
    - Split(Valeur, caractère) remplit un tableau

    A = Left("Tata", 2) A:Ta
    A = Right("Tata", 2) A:ta
    A = Mid("Tata", 2, 2) A:at
    A = Split("12;13;14", ";") A:Array("12","13","14")

    ++

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 19
    Par défaut
    Bonjour,


    merci pour vos réponses !


    Pour ma macro, la situation a un peu évolué; après une première manipulation, je retrouve une cellule qui contient le texte suivant:


    JeConfirmel'achatde3500unitésdeXYZABCDEF12345


    Ce que je veux: récupérer uniquement la quantité d'unités, ici le chiffre 3500


    Au début de la cellule, 2 possibilités de texte uniquement:

    JeConfirmel'achatde ou JeConfirmelaventede


    En fin de cellule, le format du code XYZABCDEF12345 peut changer en longueur d'une cellule à l'autre; il y a donc à gauche de la cellule, 2 possibilités de texte seulement, achat ou vente, mais à droite, le texte est à longueur variable



    effacer le texte à droite et à gauche de la quantité suffirait, c'est la seule information qui m'intéresse, quelqu'un saurait-il comment précisément sélectionner le texte alentour, quelle que soit sa longueur ?

Discussions similaires

  1. Découper une cellule
    Par hidozo dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/06/2013, 10h13
  2. [XL-2003] Découper une cellule en plusieurs
    Par nicolasfo dans le forum Excel
    Réponses: 5
    Dernier message: 23/06/2011, 15h48
  3. Découper une chaîne de caractère a l’intérieur d’une cellule
    Par cl9191 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 30/07/2009, 18h20
  4. Récupérer, calculer et découper une cellule
    Par lolipop65 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 22/08/2008, 14h39
  5. [VBA-E] Fonction sum() dans une cellule
    Par Gonzo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/12/2002, 11h18

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