Macro copier valeurs sans formules [Résolu/Fermé]

Signaler
-
 Auré -
Bonjour,

Voici mon problème. J'ai un tableau de données (A1:E10).
J'ai un autre tableau (F1:J10) avec des fonctions du type SI qui renvoit au 1er tableau.
Je souhaiterais créer une macro qui s'exécute automatiquement pour copier uniquement les valeurs (et non les formules) du tableau (F1:J10), afin d'appliquer un tri croissant sur ces valeurs (noms par ordre alphabétique)

En fouillant sur le forum je suis tombé sur cette ligne pour le tri :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim retour
retour = Run("trier", 1, "G", "D")
End Sub

J'ai également trouvé cette ligne pour la copie :

Range("A1:A30").Copy Range("G1")

Mais je ne sais pas comment articuler ces 2 lignes de codes ni comment faire pour que la macro ne copie que les valeurs.

J'espère que mon exposé n'est pas trop confus...



3 réponses

Messages postés
63
Date d'inscription
jeudi 11 février 2010
Statut
Membre
Dernière intervention
4 décembre 2010
11
Bonjour,

Essaie avec l'enregistreur de macro, ça va te donner les lignes de code directement. Sinon ça pourrait ressembler à ça (resultat obtenu avec l'enregistreur de macro) :

Sub Macro3()

Range("A8:B43").Select (Ici tu mets la plage que tu as à copier)
Selection.Copy
Sheets("Feuil3").Select (Ici tu mets la feuille où tu veux copier tes valeurs. Si tu veux les copier à partir d'une cellule précise, rajoute : Range("C5").Select )

ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
(cela effectue un collage spécial : uniquement les valeurs)

ActiveWorkbook.Worksheets("Feuil3").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Feuil3").Sort.SortFields.Add Key:=Range("A1"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Feuil3").Sort
.SetRange Range("A2:B36")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

(ça c'est le code que me donne vba quand je clique sur "trier de AàZ")

End Sub

Voilà!
En ésparant t'avoir aidé au moins un peu!

Beeloobop
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Merci beaucoup.

Effectivement ça fonctionne très bien comme ça. Mais sais-tu comment je peux rendre la macro automatique, afin qu'Excel l'exécute tout seul à chaque fois qu'une donnée change ?
Messages postés
63
Date d'inscription
jeudi 11 février 2010
Statut
Membre
Dernière intervention
4 décembre 2010
11
Alors pour l'automatisation, je n'en ai aucune idée. Il faudrait que quelqu'un de plus expérimenté que moi t'aide sur ce coup là...

Désolée! J'espère que tu trouveras!
C'est bon je me suis débrouillé. Merci à toi !