Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

LES FONCTIONS DU PRESSE-PAPIER EXCEL EN VBA


Information sur le tutorial

Catégorie :Divers Date de création : 14/04/2007 15:04:10 Vu : 12 756 fois

Note :
Aucune note

Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note


Description

C'est plus spécialement destiné au VBA, mais pas trouver cette sélection.

Tutorial

Les fonctions spéciales du presse papier Excel sous VBA


  1. Exemple d’application


Copie uniquement les contenus des cellules. (chiffre et/ou texte)


Sub CopieBlocRout:

Sheets(« NomFeuilleCopier »).Select ‘sélectionne la feuille ou il faut copier

*     Range(« B1 :C19 »).Select ‘sélectionne le bloc a copier

Application.CutCopyMode = False Rend le presse-papier disponible et vide

Selection.Copy‘copie le bloc dans un presse-papier

Sheets(« NomFeuilleColler »).Select ‘sélectionne la feuille où il faut coller

**    Range(« A1 »).Select ‘sélectionne la cellule/bloc ou il faut coller

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

False, Transpose : False ‘copier uniquement les valeurs

End sub

* Peut être une seule cellule < Range(« B1»).> : une plage <Range(« B1 :C19 »).>

Ou une plage prédéfinie Range (P$). Remarquez, pas de guillemet.

**    Une seule cellule sélectionnée, colle les données à l’identique que copier.

    Une plage sélectionnée

        Colle les données dans la plage sélectionnée

si la plage coller est plus petite,ignore les données excédentaires

si la plage coller est plus grande, colle le bloc entier et ignore

les cellules non comprises dans le presse-papier.


Copie tout, valeurs et mise en formes

Sélection.Paste


  1. Selection.PasteSpecial

Les variables

XlFormats : colle uniquement le format des cellules

XlFormulas : colle uniquement les formules des cellules

xlAll colle tout

xlValues : colle uniquement les valeurs des cellules


Transpose = false colle le presse-papier dans le même sens que copier

Transpose = true colle le presse-papier en inversant le sens Colonne transposée

en ligne et vice/versa, dans ce cas, ne pas sélectionné une plage mais uniquement

la 1ére cellule où les valeurs doivent êtres copiées.


  1. Le presse-papier et les graphiques

Cet exemple montre comment coller dans le Graph chart1 les données de la plage

B1 :B5

Worksheets(“Sheet1”).Range(“B1:B5”).Copy

Charts(« Chart1 »).Paste


  1. Il n’est pas toujours nécessaire d’activer des feuilles pour copier/coller

Worksheets(“Sheet1”).Range(“C1:C5”).Copy

ActiveSheet.Paste Destination:=Worksheets(“Sheet1”).Range(“D1:D5”)

A vous de voir pour nommer les feuilles où copier et où coller



Je vais m’arrêter là pour le moment, il reste quelques fonctions plus pointues que je n’ai

    pas développé, si cela vous intéresse j’y reviendrais.


Lermitte222

15 avril 2007 13:05:30 :
Suite problème de version Word Réessais avec Word 2003
15 avril 2007 22:37:37 :
Mise en forme du text 3 (Hi)
16 avril 2007 11:40:12 :
Mise en forme4 , si ca va pas, j'abandonne
signaler à un administrateur
Commentaire de mortalino le 15/04/2007 04:14:30

Salut lermite222,

j'avoue que je n'ai pas encore lu ( le ferai, promis) mais avant, je t'en supplie, mets en forme :D
As-tu Word 2007 ?
  Si oui, utilise le, avec les "styles" --> Titre, Titre1, Titre 2
  Ce sera plus sympa (cf. les 2 tutos avant le tiens)
Sinon, beh tant pis, mais mets au moins des retours chariots  ;)

Essai aussi de coloriser ton code, avec une source de coloration (cf dans ma liste ou celle de Renfield)
Tu copies le résultat coloré dans le docx de Word et ça devrait passer ;)
Sinon, fait des impressions écrans de VBE comme j'ai fait

@ bientôt et bonne continuation,
++

signaler à un administrateur
Commentaire de lermite222 le 15/04/2007 12:52:36

Salut mortalino

Quand je l'ai mis, il était bien présenter, je n'ai pas 2007, mais je travaillais
avec 2000, j'ai maintenant mis un 2003, je vais réessayé. Si ca marche toujour
pas, je me résoudré a acheté le 2007
Cordialement
Louis

PS Tout était colorisé et ressemblait quand même un peu à quelques chose.

signaler à un administrateur
Commentaire de PCPT le 16/04/2007 21:33:40 administrateur CS

maj appliquée ;)
il y a aussi la méthode du presse-papier par DataObject
un exemple ici : http://www.vbfrance.com/code.aspx?ID=39692

++
PCPT   [AFCK]

signaler à un administrateur
Commentaire de anarky2001 le 18/04/2007 11:48:57

Bonjour,

J'ai trouvé intéressant le contenu de ces tutoriaux, mais j'ai actuellement un problème dont la solution n'apparait nul part.

Voici le problème :

Nous gérons des fiches de suivi par excel (elles sont juste imprimées, pas éditées) pour la production. Les fichiers Excel ont pour nom le numéro de référence de la pièce (cequi donne des fichiers du type 123456.xls). Nous souhaitons imprimer au verso le plan de la pièce (format JPEG).

La mise en forme ne me pose pas de problème.

Ce que je veut, c'est créer une macro qui permette d'insérer l'image JPEG du plan dans la feuille Excel en la trouvant grace au nom.

Exemple : pour la fiche de suivi 234567.xls, je souhaite que la macro trouve automatiquement le fichier 234567.jpg et insère la photo.

J'ai essayé de faire cette macro en selectionnant la cellule du tableur contenant la référence de la pièce (qui est le nom de fichier). J'ai enregistré cette valeur dans une variable et je demandait la commande suivante :

ange("K1").Select
ActiveCell.Value = fichier
Application.GetOpenFilename ("D:\Rémy\("fichier").jpg")

Mais ça ne marche pas. Pourriez vous me dire comment faire s'il vous plait ?

Merci d'avance.

Rémy

signaler à un administrateur
Commentaire de lermite222 le 19/04/2007 08:12:16

salut PCPT
par  maj appliquée ;) je suppose que tu voulais dire
mal appliquée ;)
si oui, commentaire SVP
A+
louis

signaler à un administrateur
Commentaire de lermite222 le 19/04/2007 08:41:32

Réponse a anarky2001
J'ai un classeur Excel dans laquel j'utilise le même principe que toi, je n'imprime pas l'image mais je l'affiche, à la place de l'afficher, il est possible de l'imprimé.
Je formatte le nom du fichier.
je sélectionne une autre feuille (avec une pictureBox)
je charge l'image dans la pictureBox
Ensuite je l'affiche.
Mais à la place de l'afficher, tu n'a que de l'imprimer.
Ca vaut ce que ca vaut, mais c'est une piste.
A+
louis

signaler à un administrateur
Commentaire de mortalino le 24/04/2007 01:21:10

Salut lermitte,

non, ce que voulait dire PCPT c'est bien MAJ appliquée.
Dès que tu fais ta mise à jour, ce n'est pas automatique. Un admin doit rafraichir le cache pour les tutoriaux.

Je le sais car je me suis fais avoir, c'est pour ça que j'ai autant de "MAJ" sur mon tuto. Je le faisais et je ne voyais pas le changement.

++ ;)

signaler à un administrateur
Commentaire de mortalino le 24/04/2007 01:22:51

Anarky :

"D:\Rémy\("fichier").jpg"  --> Nop

Fais comme ceci :
"D:\Rémy\" & fichier & ".jpg"

++ ;)

signaler à un administrateur
Commentaire de gounnet le 01/05/2007 21:51:42

bonjour

j'ai un probleme avec ton code

je viens juste de me mettre au VBA alors excuse moi d'avance si je dis une connerie...

au niveau de :

False, Transpose : False

excel me dit

erreur de compilation:
attendu: parametre nommé

c'est dommage par ce que j ai passé la journée à cherché la solution à un probleme et je bute sur la derniere ligne de code

merci salut

signaler à un administrateur
Commentaire de Drikce06 le 25/05/2007 11:06:15

Salut, > gounnet

False, Transpose : False

Si les false sont de paramètres différents soit tu utilises les noms de paramétre et c'est:
Paramètre1: False, Paramètre2: False

Ou sinon selon les paramètres de la méthode:
False,,False,,,,True tout dépend du nombre de paramètre de la fonction.

Sinon si tu rencontre des problème pose tes questions dans le forum à l'avenir stp, il est fait pour ça.

signaler à un administrateur
Commentaire de lermite222 le 03/06/2007 02:58:51

bonsoir,
mais non, gounnet à raison..

Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= False, Transpose : False ‘copier uniquement les valeurs

les deux points entre transpose et false = faute de frappe
c'est.. transpose=false
Désolé de t'avoir fait ramer.
A+
louis

signaler à un administrateur
Commentaire de Yassine102 le 02/12/2008 01:47:53

Salut pour tout le monde
je veux effecter une impression global c'est a dire de tous les clients avec ses commandes et je veux affecter chaque client a ca propre page mais le probleme c'est 2 ou 3 clients s'imprimes au meme page excel
je veux le code qui permet de passer a la page suivante de la meme feuille excel apres l'enregistrement de chaque client

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,218 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.