Paste:=... values & comments

Bonsoir,

Je ne trouve pas dans "cours vba" ni ailleurs sur le web anglophone clairement expliqué comment fusionner le copier coller de valeurs et commentaires

...
Range("B" & boucle).PasteSpecial Paste:=xlPasteValues
Range("B" & boucle).PasteSpecial Paste:=xlPasteComments 
.....

Si je me trompe j'accepte le fouet

correct !

Correct ?

Wow ca c'est court

Je me suis probablement mal expliqué, même sur le web j'ai du mal à trouver les values et comments sans passer par un "déformatage" du contenu sur 30 lignes ou voire certains te coller 50 lignes avec le script recorder.

Pour le moment ce dirty quick "double useless" code marche ▼ ^^

Range("B" & bloc1 & ":Z" & bloc2).Copy
Range("B" & lastL).PasteSpecial Paste:=xlPasteValues' & xlPasteComments aurait été génial :/
Range("B" & bloc1 & ":Z" & bloc2).Copy
Range("B" & lastL).PasteSpecial Paste:=xlPasteComments

bonjour,

tu peux raccourcir ton code et son temps d'exécution ainsi

Range("B" & bloc1 & ":Z" & bloc2).Copy
Range("B" & lastL).PasteSpecial Paste:=xlPasteValues
Range("B" & lastL).PasteSpecial Paste:=xlPasteComments

Bonjour Sulfurique

J'avais employé ce double past sans doubler la ligne de copie mais je me retrouvais avec un 1004 La methode pastespecial de la classe range a echoué . Sauf en mettant doublant la ligne de copie

For Ligne = 1 To 30 Step 3
    If Range("A" & Ligne) <> "" AND Range("E" & Ligne) = "Clotûré" Then
        With Sheets(Range("C" & Ligne).Value)
            Derligne = .Range("B" & Rows.Count).End(xlUp).Row + 1
            Range("B" & Ligne & ":Q" & Ligne).Copy
            .Range("B" & Derligne).PasteSpecial Paste:=xlPasteValues
            .Range("B" & Derligne).PasteSpecial Paste:=xlPasteComments
        End With
    End If
Next Ligne

1024 ▲

For Ligne = 1 To 30 Step 3
    If Range("A" & Ligne) <> "" AND Range("E" & Ligne) = "Clotûré" Then
        With Sheets(Range("C" & Ligne).Value)
            Derligne = .Range("B" & Rows.Count).End(xlUp).Row + 1
            Range("B" & Ligne & ":Q" & Ligne).Copy
            .Range("B" & Derligne).PasteSpecial Paste:=xlPasteValues
            Range("B" & Ligne & ":Q" & Ligne).Copy
            .Range("B" & Derligne).PasteSpecial Paste:=xlPasteComments
        End With
    End If
Next Ligne

OK ▲

bonsoir

bizarre

je viens de réessayer ce qu'il me semblait avoir déjà testé, et cela fonctionne bien. je ne vois pas la différence avec ton code qui ne fonctionne pas

Sub test()
    lastl = 1
    With Sheets(2)
        Range("A1:A10").Copy

        .Range("B" & lastl).PasteSpecial Paste:=xlPasteValues
        .Range("B" & lastl).PasteSpecial Paste:=xlPasteComments
    End With
End Sub

Oui ton ton code fonctionnait bien, j'ai fini par comprendre que c'est mon classeur qui contient du vba dans les feuilles destinataires

qui plante le code.

Ce code ci que j'avais écris

If Range("D4:D369") <> "" Then
Range("D4:D369").ClearContents
End If

Afin de palier salement au faite que je ne sais pas écrire copier de b à q en sautant D et donc le second code vidait les cellules dans la feuille destinataire mais entrait en collision avec :

.Range("B" & Derligne).PasteSpecial Paste:=xlPasteValues
.Range("B" & Derligne).PasteSpecial Paste:=xlPasteComments

je vais me focaliser sur cette ligne pour lui faire faire sauter la colonne D je pensais gagner du temps et j'en n'ai perdu

Range("B" & Ligne & ":Q" & Ligne).Copy

Merci beaucoup

h2so4

Rechercher des sujets similaires à "paste values comments"