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 :

[VBA-E] Affecter une partie du contenu d'une cellule à une autre.


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 26
    Points : 17
    Points
    17
    Par défaut [VBA-E] Affecter une partie du contenu d'une cellule à une autre.
    J'ai découvert ce forum la semaine dernière, et je le trouve formidable (comme ses contributeurs du reste).
    J'ai trouvé des réponses à des questions que je me posais, et du coup je me suis inscrit pour participer à ce forum.
    Voici un petit problème sur lequel je butte depuis quelques jours:
    A la cellule "A1" de la feuille "Destination" du classeur "Class2", je voudrais affecter les 8 premiers caractères de la cellule "B2" de la feuille "Origine" du classeur "Class1".
    J'ai bien trouvé une solution en utilisant Copy, mais c'est trop lourd.
    En une ligne est-ce faisable?
    Merci d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 553
    Points : 566
    Points
    566
    Par défaut
    Essaie un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Workbooks("Class2").Sheets("Destination").Cells(1,1).value = Left(Workbooks("Class1").Sheets("Origine").Cells(2,2).value,8)
    Evidemment, ce code suppose que tes 2 classuers et tes 2 feuilles existent
    Et aussi que les classeurs soient ouvert
    Pour lesouvir via la macro, tu fais un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application.Workbooks.Open("Class1")
    Quand tu as finis, tu fais pareil
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application.Workbooks.Close("Class1")
    Evidemment, ma réponsesuppose que tes classeurs sont au même endroit
    Si ils sont dans des répertories différents, il faut rajouter le chemin devant le nom

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application.Workbooks.Open("C:\DossierTest\MonClasseur.xls")
    Après tu peux aussi mettre ton chemin en variable constante dès ledébut de ton programme si tu as besoin de l'utiliser plusieurs fois afin de pouvoir modifier ton codetrès rapidement en cas de besoin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Const monChemin as string = "C:\DossierTest\"
     
    Sub monModule()
    Application.Workbooks.Open(monChemin & "MonClasseur.xls")
    End Sub

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    ça marche ... et sur une seule ligne.
    Merci bien.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 02/01/2007, 15h19
  2. Excel : mettre une partie du contenu d'une cellule en gras
    Par cladsam dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/08/2006, 10h05
  3. [VBA-E] Inscrire dans le textbox une partie du contenu d'une cellule
    Par AliochaBada dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/08/2006, 08h06
  4. Réponses: 4
    Dernier message: 28/03/2006, 23h05
  5. Réponses: 2
    Dernier message: 16/02/2006, 22h20

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