1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière. En savoir plus.

Toutes versions copier coller uniquement les valeurs en vba

Discussion dans 'Forum Excel' démarrée par doudou080, 10 Février 2019.

  1. doudou080

    doudou080 XLDnaute Nouveau

    Inscrit depuis le :
    6 Mars 2017
    Messages :
    49
    "J'aime" reçus :
    0
    Sexe :
    Masculin
    Bonjour a tous

    malgré avoir lu plein de chose ,Je n'arrive pas modifier une macro existante.
    Cette macro tourne très bien mais elle change le format des cellules de destinations:
    F8:G8", "F5", "G5", "C36", "G2", "D21:E21", "E8

    elle garde le format source police : Times New Roman taille : 10
    et moi je voudrais garder le format de destination police : Arial taille 24.

    je ne sais pas comment insérer une ligne pour faire ce changement.

    Sub Imprimer()

    Dim fs, fb
    Set fs = ActiveSheet
    Set fb = Sheets("gestion des supports")
    If Intersect(ActiveCell, Range("E10:E" & Range("E" & 65536).End(xlUp).Row)) Is Nothing Then
    MsgBox "selection incorrecte." & Chr(13) & "Vous devez sélectionner un numéro de commande.", 16
    End
    End If
    ln = ActiveCell.Row
    For i = 1 To 7
    t1 = Choose(i, "A", "C", "D", "E", "F", "G", "H")
    t2 = Choose(i, "F8:G8", "F5", "G5", "C36", "G2", "D21:E21", "E8")
    fs.Range(t1 & ln).Copy fb.Range(t2)
    Next i
    fb.Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    fs.Select
    For i = 1 To 7
    t2 = Choose(i, "F8:G8", "F5", "G5", "C36", "G2", "D21:E21", "E8")
    fb.Range(t2).ClearContents

    Next i


    End Sub


    Cordialement votre
     
  2. Chargement...

    Discussions similaires - copier coller uniquement Forum Date
    Toutes versions Copier/coller plages valeurs uniquement Forum Excel 22 Octobre 2018
    XL 2010 Copier > coller uniquement valeur + 33 Forum Excel 3 Novembre 2016
    XL 2013 Copier coller X fois - uniquement la premiére ligne de mon ficheir Forum Excel 25 Mai 2016
    copier mais coller uniquement les chiffres Forum Excel 18 Août 2014
    copier coller uniquement des valeurs dans toute une feuille Forum Excel 20 Novembre 2012

  3. mapomme

    mapomme XLDnaute Barbatruc

    Inscrit depuis le :
    1 Novembre 2011
    Messages :
    5191
    "J'aime" reçus :
    863
    Sexe :
    Masculin
    Habite à:
    Angers
    Utilise:
    Excel 2010 (PC)
    Bonjour @doudou080,

    Sans fichier joint :(, il est difficile de savoir si ce qui suit solutionne votre problème => :
    Essayez de remplacer:
    fs.Range(t1 & ln).Copy fb.Range(t2)
    par:
    b.Range(t2).value = fs.Range(t1 & ln).value
    qui devrait laisser inchangé le format des cellules de destination .
     
    doudou080 aime votre message.
  4. doudou080

    doudou080 XLDnaute Nouveau

    Inscrit depuis le :
    6 Mars 2017
    Messages :
    49
    "J'aime" reçus :
    0
    Sexe :
    Masculin
    Bonjour
    merci pour votre réponse.

    j'ai une boite de dialogue : erreur d’exécution 424 , objet requis

    Sub Imprimer()

    Dim fs, fb
    Set fs = ActiveSheet
    Set fb = Sheets("gestion des supports")
    If Intersect(ActiveCell, Range("E10:E" & Range("E" & 65536).End(xlUp).Row)) Is Nothing Then
    MsgBox "selection incorrecte." & Chr(13) & "Vous devez sélectionner un numéro de commande.", 16
    End
    End If
    ln = ActiveCell.Row
    For i = 1 To 7
    t1 = Choose(i, "A", "C", "D", "E", "F", "G", "H")
    t2 = Choose(i, "F8:G8", "F5", "G5", "C36", "G2", "D21:E21", "E8")
    b.Range(t2).Value = fs.Range(t1 & ln).Value
    Next i
    fb.Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    fs.Select
    For i = 1 To 7
    t2 = Choose(i, "F8:G8", "F5", "G5", "C36", "G2", "D21:E21", "E8")
    fb.Range(t2).ClearContents

    Next i


    End Sub
     
  5. doudou080

    doudou080 XLDnaute Nouveau

    Inscrit depuis le :
    6 Mars 2017
    Messages :
    49
    "J'aime" reçus :
    0
    Sexe :
    Masculin
    Ca y est ,ca marche
    J'ai copié collé bêtement .
    b.Range(t2).Value = fs.Range(t1 & ln).Value
    au liue de:
    fb.Range(t2).Value = fs.Range(t1 & ln).Value

    par contre
    pouvez vous m'expliqué cette ligne de commande.
    ca marche mais je ne comprend pas.

    encore merci pour votre aide.
     
  6. mapomme

    mapomme XLDnaute Barbatruc

    Inscrit depuis le :
    1 Novembre 2011
    Messages :
    5191
    "J'aime" reçus :
    863
    Sexe :
    Masculin
    Habite à:
    Angers
    Utilise:
    Excel 2010 (PC)
    Re,

    Mille excuses :oops:. Le "f" a été omis dans ma première réponse.

    • On considère l'ensemble des valeurs des cellules de la plage fb.Range(t2).Value
    • On les remplace par la valeur de la cellule fs.Range(t1 & ln)
    Ceci fonctionne uniquement parce que fs.Range(t1 & ln) est une plage d'une seule cellule.

    On pourrait aussi écrire:
    Code (Visual Basic):
    Temp=fs.Range(t1 & ln).Value
    b.Range(t2).Value=Temp
     

Partager cette page