VBA - Problème de collage spécial Valeur
Bonjour,
Je code une macro qui me permet de copier coller des infos contenues dans des colonnes (sur une première feuille contenant le résultat d'une extraction d'une base de paie) puis de les recopier dans un onglet individuel ; ce sont des infos sur des salariés, je parcours ma 1ère colonne 'nom salarié' pour boucler dessus et aller copier/coller les infos qui m'intéressent dans chaque onglet individuel de salarié
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
Private Sub CommandButton1_Click()
Range("A1").Activate
' je compte le nombre de cellules non vides dans ma 1ère colonne
' ce nombre me sert ensuite pour ma boucle while/wend
Dim nbcells As Integer
nbcells = Application.WorksheetFunction.CountA(Feuil1.Range("$A:$A"))
Dim x As Integer
x = 1
While x < nbcells
'parcours de la colonne "NOMS"
x = x + 1
Cells(x, 2).Select
Dim horaire_salarie As Double
'copie de la valeur...
horaire_salarie = ActiveCell.Value
Selection.Copy
'retour sur la valeur "NOM"
ActiveCell.Offset(0, -1).Select
'activation de l'onglet correspondant au nom
Sheets(ActiveCell.Value).Activate
' selection de la colonne horaire et recherche de la 1ère cellule vide
ActiveSheet.Range("E6").Activate
Selection.End(xlDown).Select
Selection.Offset(1, 0).Select
' collage
ActiveSheet.Paste
' retour sur ma première feuille pour poursuivre la boucle
Sheets("EXTRACTION_GA").Activate
Range("A1").Activate
Wend
End Sub |
Je voudrais que les infos collées le soient en collage spécial valeur ;
or si j'essaie à la place de ActiveSheet.Paste:
Code:
1 2 3
|
ActiveSheet.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks_:=False, Transpose:=False |
j'ai un message d'erreur
je ne sais pas comment appliquer PasteSpecial dans ce cas ; j'ai fait un enregistrement de macro pour avoir le code d'un collage spécial valeur, mais sur une cellule donnée, par exemple :
Code:
1 2 3 4 5
| Range("A1").Select
Selection.Copy
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks_:=False, Transpose:=False |
Je suppose que la méthode PasteSpecial n'est pas gérée par l'objet ActiveSheet ? Donc j'essaie de remplacer ActiveSheet.Paste par Selection.Paste, et ça ne marche pas :( :
je ne comprends pas pourquoi je ne peux pas coller par Selection.Paste au lieu de ActiveSheet.Paste ; pourtant après avoir désigné la première cellule vide comme cellule de destination pour le collage, j'ai bien une cellule sélectionnée ?
désolé si je ne suis pas très clair, je débute en VBA et je galère un peu :cry:
Merci d'avance
Pierre