VBA pour copier coller en valeur d'une selection

Salut à tous!

J'aurais besoin de votre aide pour résoudre un souci de VBA.

Je voudrais faire un copier coller automatique en valeur de plages de cellules nommées.

En gros, l'ensemble "a1:b225;c52:d54;..." est nommé blabla

Gràce à VBA, je voudrais faire appel à cette selection :

Range("blabla").Select

Et faire un copier coller en valeurs dans les mêmes cellules.

Je vous remercie par avance de votre aide

Guillaume

Salut,

Je ne sais pas si je repond a coté, en gros tu veux faire une macro qui remplace les formules par les valeurs ?

    Range("D1:D18").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

Dis moi si c'est ce que tu souhaite ou sois plus explicite (fichier sample)

Big

Merci de ta réponse.

En gros c'est sa sauf que je veux que le range réfère à une selection de cellule non continu que j'ai prénommé blabla par exemple.

Et ce code ne fonctionne pas pour une selection de cellule non continu d'après le debogage vba....

MERCI

Bonjour,

Sauf erreur de ma part, si tu utilises une plage nommée (avec nom défini), il faut que tes données soient de la même hauteur et sur les mêmes lignes.

Par exemple, une plage nommée qui fait référence à A1:A10;A2:B4 ne pourra être copiée collée, par contre A1:A10;C1:C10 pourra être copiée collée.

Donc pour ton exemple, la plage nommée ne fonctionnera pas (dommage car c'est vrai que ça allège le code et c'est pratique)

cordialement

Salut!

Hyper intéressant ta réponse!

Faut il que les espacements entre les plages soient identique (A1:C10;E1:G10;J1:L10;...) ou peut on imaginer (A1:C10;F1:H10;J1:L10;....)?

Si c'est possible je nommerais chaque plage selon la hauteur puisque la largeur est identique entre les plages.

Merci d'avance

Guillaume

Re,

Faut il que les espacements entre les plages soient identique (A1:C10;E1:G10;J1:L10;...) ou peut on imaginer (A1:C10;F1:H10;J1:L10;....)?

oui tu peux copier des plages comme ton exemple A1:C10;F1:H10;J1:L10;...

un exemple de macro ou tu colles les valeurs de ces plages en A12

Sub test()

Range("A1:C10,F1:H10,J1:L10").Copy
Range("A12").PasteSpecial xlValues

End Sub

si tu utilises une plage nommée (qu'on appellera par exemple plage) qui fait références aux plages A1:C10;F1:H10;J1:L10

ton code sera :

Sub test()

Range("plage").Copy
Range("A12").PasteSpecial xlValues

End Sub 

Cordialement

cordialement

Rechercher des sujets similaires à "vba copier coller valeur selection"