Modif valeur copiée sous Excel avant paster

Résolu
Bonjour, j'ai crée grace à la superbe macro qui suit :
Range("B82").Select
Selection.Copy
le contenu d'une cellule afin de pourvoir la coller en dehors d'excel à volonté dans un nom de fichier sous l'explorateur. Malheureusement, le contenu contient un CR ou Carriage Return (en pastant dans un notepad je vois qu'il y a deux lignes) et donc je ne vois rien quand je paste ma valeur dans mon mon de fichier.
Comment puis-je modifier ma valeur qui a été copier et qui est donc encore en mémoire afin de lui enlever en automatique dans ma macro ce méchant caractère ?
Merci aux érudits de tous poils.
Configuration: Windows XP Internet Explorer 6.0 EXCEL VBA

10 réponses

  1. Bonjour,
    Pouvez-vous mettre la procédure complète et la valeur exacte qui se trouve dans la cellule [B82] ?
    0
    1. en [B87], j'ai un report à une autre cellule : =N37
      en [N37], j'ai la formule suivante : =CONCATENER(GAUCHE($H$5;4);"_";B65;"_";DROITE($B$6;4)) et le résultat est un chaine = "PART_RS60_4321"

      Merci pour votre aide

      Cordialement

      Claude
      0
      1. Bonjour,
        Merci pour l'information sur la valeur exacte, c'est parfait.
        Mais où est la procédure (macro) utiliée pour coller sur une autre application ?
        0
        1. Dans la fenetre du VBA
          sous VBAProject
          sous Microsoft Excel Objects
          Dans la Feuil1
          0
          1. Bonjour,
            Oui et je fais comment pour voir le code de cette procédure !
            0
            1. Private Sub CommandButton4_Click()
              Range("B82").Select
              Selection.Copy
              End Sub
              mais cela correspond à ce que j'avais mis dans ma demande initale. Que puis-je dire de + ?
              0
              1. Bonjour,
                Eh bien je pense que j’ai enfin compris votre façon de faire.
                Vous passez par l’outil [Presse-papier] et dans se cas c’est ce dernier qui met un retour à la ligne.
                Passer par [Collage spécial…] (touche : Alt+Ctrl+V) et choisir [Texte sans mise en forme].
                0
                1. Contributeur
                  Salut
                  déjà eu ce probleme, tu peux utiliser le code ci-dessous :
                  mastring = Range("B82").Value
                  Set mydata = New dataObject
                  mydata.SetText mastring
                  mydata.PutInClipboard

                  Nécessite une référence à la bibliotheque "Microsoft Forms 2.0 Object Library", soit tu l'ajoutes à la main via le menu Outils\Références, soit tu crées un userform ds ton projet (cela activera la référence)
                  0
                  1. Merci tompols,
                    Excellente solution que je ranges au bon endroit..
                    0
                    1. Un grand grand Merci à TOMPOLS et à toi egalement Le PINGOU pour votre aide.
                      Ca marche du tonnerre de ....
                      A charge de revanche.

                      Claude
                      0