copier / coller de la cellule active

alain.dutoit

XLDnaute Nouveau
Salut le forum,

Après une petite pause je reviens à la charge avec mon fichier de tir.

Je souhaiterais faire une maccro qui me copie une cellule active (le numéro de mon tireur) et qui me fait un collage uniquement de la valeur dans une autre feuille afin de pouvoir imprimer la feuille de stand. Je souhaiterais modifier ma maccros de façon à ce qu'il me copie la cellule active. Ne connaissant pas bcp le langage VBA je me suis dit que cela devait ressembler à qqch du style "ActiveRange.Select" mais quand je lance ma maccro il y a une erreur. Est-ce que qqun pourrais m'aider?

Voici le code de ma maccro. Merci beaucoup d'avance.

ActiveRange.Select
Selection.Copy
Sheets("Feuille de stand").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Individuel").Select

Alain Dutoit
 

JCGL

XLDnaute Barbatruc
Re : copier / coller de la cellule active

Bonjour à tous,
Salut Alain :),

Il me semble qu'il manque le Range de Destination ??

Tu devrais joindre ton fichier : il serait plus simple de t'aider

Au plaisir de te lire

A+
 

gbinforme

XLDnaute Impliqué
Re : copier / coller de la cellule active

bonjour,

Ceci devrait faire l'affaire en remplaçant ligne colonne par les valeurs réelles, 2 et 5 par exemple.

Code:
ActiveCell.Copy Destination:=Sheets("Feuille de stand").Cells(ligne, colonne)
Sheets("Feuille de stand").PrintOut Copies:=1, Collate:=True
 

Excel_lent

XLDnaute Impliqué
Re : copier / coller de la cellule active

Salut à tous,

une correction (pour plus tard peut-être) en plus de la remarque de JGGL :

Code:
[B][COLOR=Red]ActiveCell[/COLOR][/B].Select
Selection.Copy
Sheets("Feuille de stand").Select
[B]Range("A1").Select 'cellule de destination[/B]
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Individuel").Select
Mais le code de gbinforme est un très bon condensé !
 

alain.dutoit

XLDnaute Nouveau
Re : copier / coller de la cellule active

Salut à tous,

J'ai pu tester en vitesse les 2 solutions et celle de Excel_lent à l'air de convenir parfaitement.

Je vous tiendrais au courant cet après-midi de ce que ça donne au final. J'aurais un peu plus de temps pour tester.

Merci bcp à tous d'avoir essayer et de votre aide.

Alain
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : copier / coller de la cellule active

Bonjour le fil, bonjour le forum,

Je sais, je viens encore ouvrir ma grande g... alors que le problème est résolu... Ce qui me gêne c'est que personne ne précise, même si Gbinforme le dit implicitement, l'inutilité des Select qui ne font que ralentir le code. Il faut à tous prix (merci @+Thierry), eviter ces Select quand il sont unutiles!!!!
Code:
ActiveCell.Select
Selection.Copy
Non pitié !
Code:
ActiveCell.Copy
tout simplement. Et idem pour la suite...
 

gbinforme

XLDnaute Impliqué
Re : copier / coller de la cellule active

Bonjour Robert, bonjour le forum,

Ce qui me gêne c'est que personne ne précise, même si Gbinforme le dit implicitement, l'inutilité des Select qui ne font que ralentir le code. Il faut à tous prix eviter ces Select quand il sont unutiles!!!!

Tout à fait d'accord avec toi mais comme ceux qui utilisent l'enregistreur constatent cela, ils imitent.

De toute façon moins on écrit d'instructions et mieux l'on se porte :

- on risque moins d'erreurs car moins de lignes.
- le code est plus lisible et plus facilement modifiable.
- moins d'instructions accélère le fonctionnement.
- sur des gros fichiers certains après demandent de l'aide pour accélérer...etc

On peut continuer les avantages et il n'y a aucun inconvénient : merci de suivre les conseils de Robert !

Puis-je rajouter un sujet annexe qui est bien présent aujourd'hui encore dans le forum ?

Pourquoi certains conseillent de passer par des zones intermédiaires ?

Certes elles sont utilisables mais mettre le contenu d'une donnée Excel ou autre dans une zone intermédiaire inutile ne sert qu'à créer des soucis du fait d'erreurs de conversion ou autres : donc si j'utilise la valeur de "A1", pourquoi la transférer dans x ou y pour tester la zone ?

C'est le même problème que le précédent, cela rajoute des instructions et ralenti le code.

Merci à tous ceux qui sont arrivés ici de ne pas oublier ! Merci à vous.
 

Discussions similaires

Statistiques des forums

Discussions
312 338
Messages
2 087 396
Membres
103 534
dernier inscrit
Kalamymustapha