Modification d'une macro

Fermé
philippe - 31 mars 2011 à 12:45
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 31 mars 2011 à 17:45
Bonjour,

Voici une petite macro qui me permet de copier une selection de la feuille ("commande") sur la feuille ("Hist") avec la condition que cela ce rajoute à ce qu'il y à déjà sur la feuille ("Hist").

Sub TransfertDeCommandeDuJour()
ActiveSheet.Unprotect Password:="XXX"
Set f1 = Sheets("Commande")
Set f2 = Sheets("Hist")
For i = 4 To f1.Range("A65536").End(xlUp).Row
If f1.Range("A" & i) = f1.Range("C1") Then
x = f2.Range("A65536").End(xlUp).Row + 1
f1.Range("A" & i & ":F" & i).Copy f2.Range("A" & x)
Application.CutCopyMode = False
End If
ActiveSheet.Protect Password:="XXX"
Next
End Sub

Cela fonctionne bien, mais au lieu d'un simple copier/coller je voudrais faire en sorte que la macro effectue un collage spécial en tenant compte de la valeur de la cellule.

j'ai déjà essayé de modifier la macro pour obtenir ce résultat mais à chaque fois ca ne fonctionne plus.
Je ne suis pas un pro dans le domaine et j'imagine que je fais à chaque fois des erreurs d'écritures.
Pouvez-vous m'aider !!! SVP !!!


Et cela même si je dois complètement changer celle-ci.
merci beaucoup d'avance

Philippe
A voir également:

2 réponses

bonjour,

peux tu préciser:
la macro effectue un collage spécial en tenant compte de la valeur de la cellule.


tu peux essayer d'enregistrer une macro en faisant ta manip de collage spécial, et adapter ce code à la macro à modifier.

A+
0
J'ai eu la même idée, voila l'enregistrement de la macro avec collage spécial.

Sub testest()
'
' testest Macro
'

'
Selection.Copy
Range("E8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = ""
Range("A1").Select
End Sub

le tout maintenant c'est de l'adapter avec l'autre et c'est là que ca bloque.
j'ai essayé mais probablement que je me trompe quelque part.
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 31/03/2011 à 17:46
Bonjour,
Malheureusement Excel ne supporte pas le COPY PASTESPECIAL
Il faut procéder par étape.
    f1.Range("A" & i & ":F" & i).Copy   
    f2.Select   
    Range("A" & x).select  
   ActiveSheet.pasteSpeciel paste:=XlValue

A+
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
0