Copier cellule vers autre cellule

Bonjour,

J'ai récolté du code qui permet de recopier des cellules avec un calcul vers d'autre cellule

dans ce code j'ai voulu rajouter des lignes pour recopier d'autre cellule sans calcul.

Quand j’exécute la commande, les cellules avec les calculs se mettent sur la même ligne tandis que ce que j'ai rajourtés'ajoute sur la ligne du dessus

Voici le code :

Private Sub CommandButton1_Click()

Application.ScreenUpdating = False

ActiveSheet.Protect UserInterfaceOnly:=True

les ligne que j'ai modifié

Range("E2:L2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Range("E3:L3").Copy

Range("E3:L3").PasteSpecial Paste:=xlPasteValues

Range("E2:L2").PasteSpecial Paste:=xlPasteFormats

Range("F2").Formula = "=IF(C14>0,SUM(C2:C13),"""")"

Range("H2").Formula = "=IF(C16>0,SUM(C14:C15),"""")"

Range("K2").Formula = "=IF(C19>0,SUM(C17:C18),"""")"

Range("L2").Formula = "=IF(C20>0,SUM(C16-C19),"""")"

les ligne que j'ai rajoute et qui ne fonctionne pas

Range("C15").Copy Range("G2")

Range("C17").Copy Range("I2")

Range("C18").Copy Range("J2")

Range("B2:B13,C15,C17,C18").ClearContents

Range("E2").Activate

End Sub

Merci pour votre aide

12classeurcaisse.xlsx (45.44 Ko)

bonjour,

je ne pense pas pouvoir résoudre ton problème car je n'ai pas les compétences...

En revanche, je t'invite à donner le mot de passe car la feuille est protégée et il n'y a pas de code vba dans le classeur !!

cela te permettra peut être d'avoir une réponse,

Francky

Bonjour,

un petit ActiveSheet.UnProtect associé au bouton et on déverrouille la feuille, par contre si le fichier est enregistré en xlsx et pas en xlsm, pas de code dans ton fichier.

edit: j'ai bien testé ton code et il fait bien ce qu'on lui demande, mais que veut tu faire du coup ?

Edit 2: Bon, je me suis sorti les doigts et j'ai finalement saisi ^^, le soucis que tu avais, c'était que tu copiais la ligne avant d'y ajouter les valeurs, donc du coup une ligne était insérée entre temps etc etc....

il suffit de déplacer tes lignes en début de macro comme cela :

Private Sub CommandButton1_Click()
'ActiveSheet.Unprotect
Application.ScreenUpdating = False
ActiveSheet.Protect UserInterfaceOnly:=True
'les ligne que j'ai modifié
Range("C15").Copy Range("G2")
Range("C17").Copy Range("I2")
Range("C18").Copy Range("J2")
Range("E2:L2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("E3:L3").Copy
Range("E3:L3").PasteSpecial Paste:=xlPasteValues
Range("E2:L2").PasteSpecial Paste:=xlPasteFormats
Range("F2").Formula = "=IF(C14>0,SUM(C2:C13),"""")"
Range("H2").Formula = "=IF(C16>0,SUM(C14:C15),"""")"
Range("K2").Formula = "=IF(C19>0,SUM(C17:C18),"""")"
Range("L2").Formula = "=IF(C20>0,SUM(C16-C19),"""")"
'les ligne que j'ai rajoute et qui ne fonctionne pas

Range("B2:B13,C15,C17,C18").ClearContents
Range("E2").Activate
End Sub

C'est bien ça que tu voulais faire ? ^^

Merci

En fait je veux reporter sur une seule ligne (des colonnes F à L) les résultats de la colonne C sur chaque jour saisie

Rechercher des sujets similaires à "copier"