Copier/coller par rapport date et modification cellule

Fermé
saxo90 Messages postés 9 Date d'inscription mercredi 24 avril 2013 Statut Membre Dernière intervention 24 avril 2016 - 19 avril 2016 à 08:34
saxo90 Messages postés 9 Date d'inscription mercredi 24 avril 2013 Statut Membre Dernière intervention 24 avril 2016 - 21 avril 2016 à 15:30
Bonjour à tous et déjà merci de lire mon message,

J'ai un petit (gros) souci ...
Je suis très limite en VBA et je cherche à faire un copier/coller SI la date est la même.

Je m'explique en C4 j'ai une date et en K4 une date de modification.
Dans la colonne D5 à D15 j'ai les effectifs initiaux
Dans la colonne O5 à O15 j'ai les effectifs à mettre à jour à partir de la date en K4.
Je voudrais que lorsque K4=C4 alors K4 se place en C4 et que ces cellules modifiée en O5:O15 prennent la place en D5:D15
Please help me ...

Merci d'être là et merci par avance,
j'ai tenté d'adapter tout ce que j'ai trouver sur le net mais je là je déclare forfait.

Louisa
A voir également:

5 réponses

melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
19 avril 2016 à 09:02
Bonjour,

sub modification ()

'remplace nomfeuille par le nom de ta feuille
if sheets("nomfeuille").range("C4") = sheets("nomfeuille").range ("K4) then
sheets("nomfeuille").range("C4") = sheets("nomfeuille").range("K4")

sheets("nomfeuille").select
range(range("O5"),range("O15")).copy
range("D5").select
activesheet.paste

end sub
0
saxo90 Messages postés 9 Date d'inscription mercredi 24 avril 2013 Statut Membre Dernière intervention 24 avril 2016 2
19 avril 2016 à 09:54
Bonjour Mélanie,

Merci de ta réponse rapide, il me met une erreur de compilation : attendu séparateur de liste ou ) sur la ligne If ... then.

merci encore,
Louisa
0
Bonjour,

Je voudrais que lorsque K4=C4 alors K4 se place en C4
cela se traduit par si K4=C4 alors C4=K4, ça ne veut rien dire.

Sinon pour reprendre la macro de melanie1324

Sub modification ()

If Range("C4") = Range("K4") Then
Range("O5:O15").Select
Selection.Copy
Range("D5").Select
Activesheet.Paste
Application.CutCopyMode = False
End If

End Sub
0
saxo90 Messages postés 9 Date d'inscription mercredi 24 avril 2013 Statut Membre Dernière intervention 24 avril 2016 2
19 avril 2016 à 10:39
Bonjour Mosca,

Oui, effectivement c'est pas le peine de remplacer C4 par K4 ... l'action doit commencer quand C4 = K4.

Par contre, ça ne fonctionne pas

Sub modification()

if ActiveSheet.Range("C4") = ActiveSheet.Range("K4) then

ActiveSheet.Select
Range(Range("O5"), Range("O15")).Copy
Range("D5").Select
ActiveSheet.Paste

End Sub

Il me met toujours une erreur de synthaxe If ... then

huumm

Merci beaucoup
Louisa
0
C'est normal, tu n'as pas recopié la macro corrigée, je te la remets ci dessous

Sub modification ()

If Range("C4") = Range("K4") Then
Range("O5:O15").Select
Selection.Copy
Range("D5").Select
Activesheet.Paste
Application.CutCopyMode = False
End If

End Sub
0
Bonjour,
a mon avis l'erreur de syntaxe vient d'un " manquant après K4 dans la ligne
if ActiveSheet.Range("C4") = ActiveSheet.Range("K4) then

("K4) doit etre ("K4")
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
saxo90 Messages postés 9 Date d'inscription mercredi 24 avril 2013 Statut Membre Dernière intervention 24 avril 2016 2
21 avril 2016 à 15:30
Bonjour Stif,

Super Merci, comme quoi ...

Sub MISEAJOUR()
'
' MISEAJOUR Macro
' Mise à jour des effectifs

If ActiveSheet.Range("C4") = ActiveSheet.Range("T4") Then

ActiveSheet.Select
Range(Range("T7"), Range("T14")).Copy
Range("C7").Select
ActiveSheet.Paste

ActiveSheet.Select
Range(Range("Z7"), Range("Z14")).Copy
Range("I7").Select
ActiveSheet.Paste


End If

End Sub

Cela fonctionne.

Mosca et mélanie Thanks et lot !

Encore une question :

Je voudrais qu'il ne copie que les cellules ou il y a une différence entre les effectifs de départ (de T7 à T14) et les nouveau de (Z7 à Z14) , exemple en T7 j'ai :1200
en Z7 j'ai : 1500 alors à la date 1200 devient 1500 et la cellule est coloriée.
en T8 j'ai : 1200
en Z8 j'ai : 1200 alors rien ...

Est qu'il y a un code spécial global ... ou il faut que je code avec du if .. then partout ?

car j'ai 25 onglets et 70 lignes / onglet ... si je peux trouver un raccourci, ce serait top.

En tout cas encore merci !
J'ai encore une question mais je poste un new message ... c'est un autre fichier.

Louisa
0