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 :

Copier du texte en gras, italique ou barré par VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    travailleur
    Inscrit en
    Juillet 2018
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : travailleur

    Informations forums :
    Inscription : Juillet 2018
    Messages : 76
    Par défaut Copier du texte en gras, italique ou barré par VBA
    Bonjour,

    Je suis confronté à un problème. Je ne suis pas un grand expert mais je sais transférer et travailler un peu de la donnée par VBA.

    J'essaie de copier d'un fichier .xlsm vers un autre du texte. Jusque là je savais faire. Mais là je veux le copier en gardant son format d'origine, c'est à dire s'il est en couleur, barré etc. Et autant excel sait le faire manuellement, autant je suis incapable de le faire par macro. J'ai fait un enregistrement de macro en faisant du copier coller mais ca ne fonctionne pas.

    Sur le fichier joint, je voudrais simplement copier par macro le texte et sa mise en forme de la cellule A1 à la cellule C1.

    Pouvez-vous m'aider?

    Cordialement
    Fichiers attachés Fichiers attachés

  2. #2
    Membre habitué
    Homme Profil pro
    Formateur informatique, conseils, amélioration de fichiers
    Inscrit en
    Mars 2022
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Formateur informatique, conseils, amélioration de fichiers
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2022
    Messages : 15
    Par défaut
    Bonjour,

    Comme ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Macro1()
     
        Range("A1").Copy Range("C1")
    End Sub

  3. #3
    Membre confirmé
    Homme Profil pro
    travailleur
    Inscrit en
    Juillet 2018
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : travailleur

    Informations forums :
    Inscription : Juillet 2018
    Messages : 76
    Par défaut
    C'est tout simple... Je me prenais la tête

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Attention que copier une cellule de cette manière d'un classeur à l'autre copie la cellule avec toutes ses propriétés. Cela peut amener le classeur cible à recevoir des scories indésirables (plages nommées, validation par liste entraînant des liaisons entre classeur, etc).

    Perso, j'effectuerais deux collages spéciaux, un valeur puis un format, pour contrôler au plus près ce qui est transféré d'un classeur à l'autre
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Membre habitué
    Homme Profil pro
    Formateur informatique, conseils, amélioration de fichiers
    Inscrit en
    Mars 2022
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Formateur informatique, conseils, amélioration de fichiers
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2022
    Messages : 15
    Par défaut
    Hello !

    Très bonne remarque effectivement. Merci pour la précision.

    Comme c'était dans le même fichier, je ne me suis pas posé de questions. Et à force de ne pas se poser de questions, on en arrive à faire des erreurs stupides à certains moments.

    Cela étant dit, ici les mises en forme sont faites sur différents mots, placés dans différentes lignes de la cellule. Ce n'est pas la cellule en elle-même qui a une mise en forme et le collage spécial format ne donne donc rien. À mon niveau tout du moins.

    Il faudrait, pour chaque mot, récupérer toutes ses propriétés de police et les réappliquer ?

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Si c'est dans le même fichier et que ce sont des parties de texte qui ont été altérées par un format, alors, ta solution d'un simple Copy est ok (je n'ai pas regardé le fichier)

    Aller chercher la mise en forme du texte à l'intérieur de la valeur de la cellule, c'est galère.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Membre habitué
    Homme Profil pro
    Formateur informatique, conseils, amélioration de fichiers
    Inscrit en
    Mars 2022
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Formateur informatique, conseils, amélioration de fichiers
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2022
    Messages : 15
    Par défaut
    Bon courage
    Nom : Capture.PNG
Affichages : 260
Taille : 4,5 Ko

  8. #8
    Membre confirmé
    Homme Profil pro
    travailleur
    Inscrit en
    Juillet 2018
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : travailleur

    Informations forums :
    Inscription : Juillet 2018
    Messages : 76
    Par défaut
    Effectivement, cette solution ne fonctionne pas entre 2 classeurs.

    Je n'avais pas mis dans l'équation le fait qu'il s'agit d'une cellule fusionnée vers une autre cellule fusionnée.

    Jusqu'à présent je faisais ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    workbook1.Range("pouet") = workbook2.Range("coincoin")

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/10/2018, 21h05
  2. Réponses: 4
    Dernier message: 13/06/2012, 12h44
  3. [AC-2007] Texte tronqué à 255 caractères quand passage par VBA
    Par sendme dans le forum VBA Access
    Réponses: 2
    Dernier message: 13/05/2011, 17h49
  4. Réponses: 5
    Dernier message: 09/01/2010, 19h08
  5. Copier le texte d'un ListBox dans le clipboard.
    Par Clément[Delphi] dans le forum Composants VCL
    Réponses: 3
    Dernier message: 18/08/2002, 08h20

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