Copie de cellules

bonjour

comment puis coller des cellules d'une feuille sur une autre en utilisant des macros svp?

autre question, plus dure celle la...

dans une feuille (1), j'ai des cases contenant des formules du style "=si(A1=B1;somme(A1:A3);"")"

je voudrais que, quand ces cases sont differentes de zero, elles soient copiées sur une autre feuille (2): le problème est que je ne veux pas que la formule soit copiée mais le résultat et que ce dernier soit enregistré....

ainsi, quand j'ouvrirai mon classeur plus tard, meme si sur la feuille (1) A1<>B1, mes valeurs de la feuille (2) seront toujours visibles et je pourrais faire ainsi de suite....

je ne sais pas si c'est tres clair... j'espere que oui : si ce n'est pas le cas, excusez moi...

s'il le faut, je peux vous envoyer mon fichier par mail pour que vous compreniez plus facilement....

d'avance, merci

Bonsoir,

Le mieux est que tu place ton fichier ici ce sera plus facile de comprendre ton problème.

Pour le placer, clique sur Joindre un fichier en haut de cette fenêtre et recopie le lien qui te sera proposé.

A te lire

Dan

voila un petit classeur pour expliquer

https://www.excel-pratique.com/~files/doc/IQBefessai.xls

merci

Re,

Essaye cette macro :

Sub copie()
'Macro par Dan pour Tony13800 -  Excel pratique - 24/11/07
Dim lig As Byte
Dim c As Range
lig = 7
Select Case Range("A3")
Case Is = Range("C4")
For Each c In Range("C7:C20")
If c <> 0 Then
Sheets("sheet1").Range("C" & lig) = c.Value
End If
lig = lig + 1
Next c
Case Is = Range("D4")
For Each c In Range("D7:D20")
If c <> 0 Then
Sheets("sheet1").Range("D" & lig) = c.Value
End If
lig = lig + 1
Next c
End Select
End Sub

Code à placer en VBA (ALT + F11) dans un module

Amicalement

Dan

merci

2 questions :

1. peux tu m'expliquer les termes que tu emploies dans la macro stp?

2. si je fais comme ca, est ce que je pourrais sauvegarder les valeurs en page 1 en fermant pour les trouver en rouvrant meme si je modifie sur la page 2?

amicalement

Re,

Question1 :

Sub copie() 
'Macro par Dan pour Tony13800 -  Excel pratique - 24/11/07 
Dim lig As Byte 
Dim c As Range 
lig = 7 'on part de la ligne 7 parce que en page 1 la première ligne est 7
Select Case Range("A3") 'défintion de la cellule A3
Case Is = Range("C4") ' cellule A3 = cellule C4
For Each c In Range("C7:C20") 'boucle - chaque cellule dans la plage C7 à C20
If c <> 0 Then ' condition que la cellule dans la plage C7 à C20 est différente de 0
Sheets("sheet1").Range("C" & lig) = c.Value ' en feuille 1, cellule colonne C et ligne 7 = valeur de la cellule c
End If 'fin de la condition
lig = lig + 1 'on passe à la ligne suivante (8 ou plus)
Next c ' cellule sivante dans la plage C7 à C20
Case Is = Range("D4") ' cellule A3 = cellule D4
For Each c In Range("D7:D20") 'idem ci avant mais dans la plage D7 à D20
If c <> 0 Then 'idem ci-avant
Sheets("sheet1").Range("D" & lig) = c.Value 'idenm ci-avant mais pour colonne D
End If 'fin de la condition
lig = lig + 1 ' on passe à la ligne suivante (8 ou plus)
Next c 
End Select 
End Sub

Question 2 : oui. Pour modifier les valeurs en page 1, tu exécutes la macro par menu/outils/macro. On peut aussi mettre un bouton ou un raccourci clavier.

A te lire

Dan

je te remercie

j'essaie ca et je te tiens au courant...

en tout cas, merci pour la rapidité de la reponse...

Sub copie()

'Macro par Dan pour Tony13800 - Excel pratique - 24/11/07

Dim lig As Byte

Dim c As Range

Sheet2.Activate

lig = 7

Select Case Range("A3")

Case Is = Range("C4")

For Each c In Range("C7:C20")

If c <> 0 Then

Sheets("sheet1").Range("C" & lig) = c.Value

End If

lig = lig + 1

Next c

Case Is = Range("D4")

For Each c In Range("D7:D20")

If c <> 0 Then

Sheets("sheet1").Range("D" & lig) = c.Value

End If

lig = lig + 1

Sheet1.Activate

Next c

End Select

End Sub

en gras, ce que tu avais oublié pour que ca marche

merci

capturer

re,

Oui et non.

Non car en fait j'ai contrôlé la macro de la feuille 2 si je me rappelle.

Si tu mets un bouton sur cette feuille, l'instruction n'est pas nécessaire. Mais ce n'est pas une faute de la mettre. Cela sécurise le fonctionnement de ta macro.

A bientôt

Dan

merci

Rechercher des sujets similaires à "copie"