Copier cellule d'une feuille sur l'autre

Bonjour le forum,

J’essaie d’adapter un code trouvé sur cet excellent forum (je n’ai malheureusement pas noté le nom de l’auteur, pour le remercier, et je m’en excuse), permettant de copier des cellules.

Pour débuter, je copie les cellules de la colonne A de la feuille « Base » vers la feuille « Destination ».

Cependant, je ne désire copier que la valeur des cellules (sans le format, sans la liste déroulante).

J’espère que vous pourrez mieux comprendre ma demande avec le fichier ci-joint.

Avec mes remerciements anticipés

Bernard

73test-bb.zip (16.02 Ko)

Bonjour,

essaie ceci :

Sub CopierRef()
'Macro Dan pour Baudoin le 12/06/2010
 Dim plage As Range
Sheets("Destination").Range("A6.IV65536").ClearContents
  With Worksheets("Base")
  Set plage = .Range("A6:A" & .Range("A65536").End(xlUp).Row)
  plage.Copy
  Sheets("Destination").Range("A6").PasteSpecial Paste:=xlValues
  End With
  Worksheets("Destination").Activate
  Range("A1").Activate
End Sub

L'instruction Worksheets("Destination").Activate ne sert pas si ton bouton se trouve sur cette feuille.

A noter que ton bouton est crée par la barre d'outils ("Boite de controle") qui est toujours un souci si l'utilisateur exécute ce code sous une ancienne version excel ou sur excel MAC. Dans ce cas, le code ne fonctionnera pas complètement et l'utilisateur est contraint de supprimer la feuille contenant le bouton. Le mieux est de créer ton bouton par la barre d'outils "Formulaire" et de l'associer directement à ton code. De cette sorte, plus besoin de la "Private Sub Cmd1_Click()" et ton appli est lisible par tous.

Amicalement

Bonjour Dan, le forum,

Merci pour le code. Je le testerai dès le début de la semaine.

Je vais chercher de la documentation pour la création d’un bouton par la barre d'outils "Formulaire", car je ne sais pas utiliser cette méthode.

Bon week-end,

Cordialement,

Bernard

Re,

Tu vas par AFFICHAGE - BOITE OUTILS - FORMULAIRE puis tu cliques sur l'objet Bouton et tu le dessines sur ta feuille.

Ensuite, il te sera demandé la macro à lui attribuer.

Sinon clique droite sur le bouton puis choisir l'option Affectuer une macro

Amicalement

Bonjour Dan, le forum,

Un grand merci pour tes explications sur les formulaires.

Par contre, lors de l’exécution du code, Excel m’indique « Erreur de compilation – Erreur de syntaxe », à la ligne Paste :=xlValues.

Peux-tu avoir l’amabilité de corriger ce problème ?

Cordialement,

Bernard

39test-bb-v1.zip (14.01 Ko)

re,

Normal que cela pose pb. En premier tu as un accent sur PASTESPéCIAL et le PASTE.. XLVALUES doit être sur la même ligne que PASTESPECIAL. Le code doit être sur une ligne comme ci-après :

Sheets("Destination").Range("A6").PasteSpecial Paste:=xlValues

Amicalement

Bonjour Dan, le forum,

Félicitations. Le code fonctionne à la perfection (je vais devoir changer mes lunettes).

Si je désire copier également les colonnes B, C, D, E, d’une référence, dois-je utiliser les boucles (comme mon premier test) ou d’autres solutions sont elles préférables ?

Cordialement,

Bernard

68test-bb-v1.zip (15.12 Ko)

re,

Inutile de remettre ton fichier à chaque post surtout si rien ne change. Le premier suffit et cela évite d'alourdir le forum inutillement.

Si je désire copier également les colonnes B, C, D, E,...

Dans ta demande tu ne parlais que de la colonne A. En gros c'est toute de la base que tu veux copier d'une feuille vers l'autre ?

Si oui, il suffit de changer la ligne dans ton code par celle-ci :

Set plage = .Range("A6:E" & .Range("A65536").End(xlUp).Row)

A te relire

Bonjour Dan, le forum,

C’est parfait. Tout fonctionne à merveille.

Inutile de remettre ton fichier à chaque post surtout si rien ne change. Le premier suffit et cela évite d'alourdir le forum inutillement.

J’en prends note pour mes prochaines demandes.

Dans ta demande tu ne parlais que de la colonne A. En gros c'est toute de la base que tu veux copier d'une feuille vers l'autre ?

Mille excuses, j’aurai du ouvrir un nouveau fil.

Corialement,

Bernard

Rechercher des sujets similaires à "copier feuille"