Cellule de référence

Bonjour,

J'ai actuellement une macro qui me permet de copier une valeur d'une cellule quelconque sur une cellule déterminée (elle colle donc la valeur sur la cellule G79 à partir de n'importe quelle cellule que j'ai préalablement sélectionné) :

Selection.Copy

ActiveWindow.LargeScroll Down:=2

Range("G79").Select

Selection.PasteSpecial Paste:=xlValues, Operation:=xlAdd, SkipBlanks:= _

False, Transpose:=False

End Sub

A la fin, le curseur reste sur la cellule G79.

Je voudrais la modifier pour que le curseur revienne ensuite sous la cellule sélectionnée au départ. Il reviendrait donc sur la cellule A2 si j'ai copié la cellule A1 dans la cellule G79, et sur la cellule A6 si j'ai copié la cellule A5 dans la cellule G79.

J'espère être assez clair dans mon explication et je remercie d'avance l'âme excel-lemment érudite qui m'aidera à me tirer d'affaire !

Alain

Bonjour,

Autre façon ?

Sub Copie()
    Range("G79") = ActiveCell.Value
    ActiveCell.Offset(1).Select
End Sub

A+

Bonjour, Salut lermite,

Une autre façon de le faire, mais il faut selectionner la cellule avant, le curseur restera sur la cellule séléctionnée :

Sub copie()
    ActiveCell.Copy Destination:=[G79]
End Sub

Bonjour,

D'abord mes excuses pour le retard dans la réponse : merci. J'ai maintenant compris que ma difficulté venait du changement de cellule de référence entre le copier et le coller.

Mon problème subsiste en partie car je n'arrive pas à trouver la formule qui me permettrait d'additionner la valeur de la cellule copiée à celle de la cellule de destination (ma formule actuelle me permet d'additionner des valeurs de différentes cellules sur la même cellule de destination).

J'ose abuser de vos compétences. Pendant ce temps je continue de me creuser la cervelle !

Encore merci.

alain

Re,

Il vaut mieux un fichier avec explication de ce que tu veux obtenir et met-le à notre disposition. ça sera plus concrèt.

Re, Salut Raja,

Oui, vaut mieux un fichier pour êtres sur les mêmes rails.

En attendant test..

Sub Copie()
    Range("G79") = Range("G79") + ActiveCell.Value
    ActiveCell.Offset(1).Select
End Sub

Yahoooo !

On se rapproche. Grand merci Lermite pour ta macro.

Il me reste un problème, je vous l'explique d'après l'exemple sur le fichier joint.

Ecrivons la macro ainsi :

Sub Copie()

Range("C2") = Range("C2") + ActiveCell.Value

ActiveCell.Offset(1).Select

End Sub

Si j'entre une valeur dans la cellule verte, elle va s'afficher dans la cellule C2 ("Total") et le curseur se place dans la cellule bleue.

Si j'entre ensuite une valeur dans la cellule bleue, elle va s'additionner à la valeur déjà présente dans "Total" et le curseur se place dans la cellule orange.

... et ainsi de suite.

J'aimerais en plus que le détail des opérations s'affiche dans la cellule "Total". La macro que j'avais initialement :

Selection.Copy

ActiveWindow.LargeScroll Down:=2

Range("C2").Select

Selection.PasteSpecial Paste:=xlValues, Operation:=xlAdd, SkipBlanks:= _

False, Transpose:=False

End Sub

affichait ensuite le détail des opérations dans la cellule "Total" sous cette forme : =((0)+12)+-34

Je pense que je deviens exigeant ... enfin chiant quoi, mais ce détail m'est précieux.

Je continue à chercher de mon côté (avec moins de succès de vous, mais tout s'apprend !).

Un tout grand merci

Alain

Re,

A tester..

A+

Lermite ... c'est toi le plus fort du monde ... j'ai trouvé l'Excel Master du 21ème siècle : c'est superlermite.

Un immense merci pour m'avoir évité moulte soirées de tourment informatique, la solution 2 est absolument top, je m'attelle au copier/coller pour toutes mes macros ... ça je maîtrise.

Merci encore.

Alain

ho la, ho la, c'est qu'un petit truc de rien du tout dont tout le monde sur ce forum est capable.. et bien plus.

Mais si tu à ta réponse ce serait bien de cloturer le fil en cliquant sur Résolu.

A+

Rechercher des sujets similaires à "reference"