Copie texte à partir liste déroulante

Résolu
BABAR07 -  
 BABAR07 -
Bonjour,
je fais encore appel à vous, j'ai une feuille SAISI ARTICLE avec une zone de liste déroulante (contrôle de formulaire), les cellules de A4:D4 sont fusionnées avec dedans la formule =INDEX..., E4 est vide, en F4 la formule =RECHERCHEV...., EN G4 =RECHERCHEV..... , j'ai crée une macro avec un bouton mais cette macro recopie les formules au lieu du texte, comment modifier cette macro
je posséde excel 2007
Sub COPIERCOLLERARTICLE()
Range("A4:G4").Select
Selection.Copy
Sheets("DEVIS-FACTURE").Select
Dim Ligne As Long
Ligne = (Range("A1").End(xlDown).Row + 1)
Range("A" & Ligne).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets("SAISI ARTICLE").Select
Range("A1").Select
End Sub
Merci d'avance à tous

2 réponses

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
     
    Bonjour,

    J'aurais écris ceci :
    Sub COPIERCOLLERARTICLE() 
    Dim rng As Range 
    
      Set rng = Sheets("DEVIS-FACTURE").Columns(1) _ 
        .Find("*", , , , , xlPrevious).Offset(1) 
      Sheets("SAISI ARTICLE").Range("A4:G4").Copy 
      rng.PasteSpecial Paste:=xlPasteFormats 
      rng.PasteSpecial Paste:=xlPasteValues 
      Application.CutCopyMode = False 
      ActiveCell.Select 
       
    End Sub


    Note :
      rng.PasteSpecial Paste:=xlPasteFormats
    n'est pas forcement utile.

    Cordialement
    Patrice
    0
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      PS : il faut que la colonne A de Devis-Facture ne soit pas vide (un titre suffit)
      Si la colonne A peut être vierge, remplacer :
        Set rng = Sheets("DEVIS-FACTURE").Columns(1) _ 
          .Find("*", , , , , xlPrevious).Offset(1) 
      Par :
       Set rng = Sheets("DEVIS-FACTURE").Columns(1) _
          .Find("*", , , , , xlPrevious)
        If rng Is Nothing Then
          Set rng = Sheets("DEVIS-FACTURE").Cells(1, 1)
        Else
          Set rng = rng.Offset(1)
        End If
      0
    2. BABAR07
       
      Bonjour patrice,
      merci de m'avoir répondu si vite mais la ligne ci-après se met en jaune
      rng.PasteSpecial Paste:=xlPasteValues, et me dit erreur 1004, je ne comprends pas n'étant pas très calé dans les macros
      si tu peux me résoudre ce prob sinon je te fais parvenir mon fichier par mail
      Cordialement
      0
    3. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      Met ton fichier sur http://cijoint.fr/ et met le lien obtenu dans ton prochain post.
      0
    4. BABAR07
       
      bonjour patrice
      voici le lien pour mon fichier
      http://www.cijoint.fr/cjlink.php?file=cj201104/cijSEce0ik.xlsm
      Cordialement
      0
  2. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
     
    Bonjour,

    Le problème vient de la fusion des cellules.

    En règle générale, dans Excel il faut à tout prix éviter de fusionner des cellules pour limiter les problèmes.

    Dans ton cas, cette fusion est totalement inutile, donc :
    - Supprime la fusion des cellules A4:D4 de la feuille SAISI ARTICLE (clic droit / format de cellule / alignement / décocher fusion des cellules).
    - supprime la fusion des cellules correspondantes dans DEVIS-FACTURE (A18:D18, A19:D19, ... )

    Si tu tiens absolument (mais vraiment si tu y tiens absolument !), il est possible d'écrire une macro qui prendra en compte le fait que certaines cellules sont fusionnées.
    0
    1. BABAR07
       
      Rebonjour avec un peu de retard
      le prob vient que je veux absolument fusionner les cellules car j'ai fait mon modèle de facture avec des cels fusionnées et que je ne tiens pas à refaire toute cette facture car celle-ci contient pas mal de formules et macros, sinon je dois reprendre tout à zéro.
      excuse moi d'abuser de toi et si tu peux me concocter ceci, je t'en remercie infiniment
      cordialement
      0
    2. BABAR07
       
      Bonjour ,
      au secours pour ma liste déroulante avec des cels fusionnées
      qui pourrais me répondre,
      merci d'avance
      0
    3. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      Bonjour,

      Il ne faut que quelques secondes pour supprimer la fusion des cellules concernées. Ces cellules ne contiennent pas de formule, les autres macro continueront à fonctionner, cela ne change pas l'aspect de la facture, finalement il n'y a rien à reprendre à zéro !!!

      Patrice
      0
    4. BABAR07
       
      Merci de ton aide, finalement tu as raison , je me prends la tête pour rien.

      Cordialement
      0