Copier sélection lignes et sélection de colonnes

Bonjour à tous,

je tiens un livre de caisse excel que j'utilise dans le cadre de mon boulot et qui peut contenir plus de 1000 lignes ainsi que de nombreuses colonnes (de à A à BU). feuille "BDD".

1 - Je souhaiterais sélectionner les factures d'un mois en particulier, à partir de la colonne "MOIS" (BX) et les copier dans la feuille "Import Compta"

2 - j'aimerais copier/coller sans les formules , les données de certaines colonnes uniquement dans la feuille "Import Compta".

Les colonnes qui m'intéressent doivent être placées dans un ordre précis qui est celui retenu par le logiciel de comptabilité. colonne : (AB, T, D, BV, BW, A, BS, BU)

Ensuite j'y appliquerai une seconde macro que "Michel" et "Gyrus" ont crée pour moi. (Encore merci à vous)

J'ai joint le fichier pour une meilleur compréhension de mon problème.

De nombreuses questions sont posées à ce sujet (copier/coller dans une autre feuille) mais je n'ai pas trouvé de réponse concernant la sélection de certaines colonnes uniquement.

Franchement si vous pouvez résoudre ce problème ça m'aiderait énormément. Je peux toujours faire des copier/coller manuellement mais le jour ou je partirai de ma boîte, je ne suis pas sûr que mon remplaçant le fasse.

Merci à ceux qui voudront bien se pencher sur mon problème. Par avance merci à vous.

voici une proposition

si elle te va

Fred

Comment vous dire faire Fred.... C'est juste parfait!!

Bravo vous êtes super réactif, pro et vraiment et surtout génialissime!!

je suis très reconnaissant pour le temps que vous avez consacré à mon "p'tit" problème.

Merci encore

Guillaume

Attention je ne sais pas si tu as vu le contenu du code

j'utilise la colonne CC comme colonne temporaire ...

donc si il y a des données plus tard dans une colonne encore plus loin elle sera déplacer a chaque utilisation de la macro. A corriger donc si cela est nécessaire

j'ai essayé de commenter le code le plus possible

cordialement

Fred

Bonsoir,

Je me suis approprié votre code.

J'ai regardé comment insérer des colonnes tout en conservant les données nécessaires à l'importation.

J'ai également modifié la référence à la cellule CC en CO pour voir si cela fonctionnait également.

tout fonctionnement parfaitement.

Encore merci à vous.

Guillaume

Bonjour Fred,

J'ai une petite question.

J'essaie de déplacer votre macro (feuille et module) dans mon livre de caisse. le fichier original.

J'ai changé le nom "ListBox1" et "UserForm1"

Lorsque je démarre la macro la userform apparaît mais la liste est vide. je clique sur ok et la macro déroule jusqu'à la fin sans rien copier.

j'ai beau comparer votre fichier avec mon livre de caisse, je ne vois aucune différence.

il y a quelque chose qui m'échappe.

je crois que c'est entre la listBox et la colonne des données stockées en CC.

Qu'en pensez-vous?

Merci

Guillaume


Bon maintenant j'ai bien les mois dans la ListBox1.

mais il ne copie rien dans "Import Compta" sauf les entêtes de colonnes.

c bon ça marche maintenant. désolé pour le dérangement.

ok cela veut dire que vous avez assimiler le code

Fred

Je bute sur un problème.

ma colonne "MOIS" est en faite une formule qui fait référence à la colonne date_facture

formule = TEXT($D$2;"mmmm")

la macro bloque sur

Userform1.Show

ça doit être un problème de format, non?

Que dois-je faire? Ensuite j'en aurai terminé.

Merci

Re

vous avez indiquer plus haut que vous aviez changer le nom de userform1il faut changer ici le nom et mettre le nouveau que vous avez changer et je pense que cela sera réglé

Fred

J'ai du mal m'exprimé.

Ce n'est pas le nom de la colonne qui pose problème. j'ai conservé exactement les mêmes noms que votre fichier.

Ce qui change c'est le contenu des lignes de la colonne "MOIS".

Dans le tableau qui a servi d'exemple, j'avais du texte : Janvier, février, mars, avril, mai.....

dans mon vrai livre de caisse, j'ai dans chaque cellule une formule qui fait référence à la date de facture.

je pense que ce qui bloque c'est le contenu de la cellule qui n'est pas au format texte.

Peut être qu'il faudrait faire une copie en valeur vers la colonne "CC".

Oui c est ca il faut copie les valeurs dans la colonne cc dans ce cas la je n ais plus de pc sous la main seulemnt jeudi maintenant

essayer de faire le changement sinon je le ferais plus tard

fred

Bonjour

Je ne sais pas si vous avez trouvez la solution mais voici :

remplacer la ligne de code :

.Columns("BX").Copy .Range("CC1")

par :

.Range("CC1:CC" & .Range("BX65000").End(xlUp).Row) = .Range("BX1:BX" & .Range("BX65000").End(xlUp).Row).Value

et cela devrait marché

Cordialement

Fred

Bonjour,

J'essaierai a mon retour de vacances le 22. Je suis sur que ca marchera. J'ai hate de voir ca.

Je ne connais pas VBA je n'aurais jamais trouvé sans vous.

Merci et A bientot pour le retour.

Guillaume.

Bonjour,

Le code copie-valeur que vous m'avez transmis fonctionne très bien.

J'ai voulu transposer ce code pour la deuxième partie des données à coller dans la feuille "Import compta" mais je n'arrive pas à savoir ou positionner le ".value"

Votre code

Sheets("BDD").Range("AB1:AB" & Sheets("BDD").Range("BX65000").End(xlUp).Row).Copy Range("A1")

mon code

Sheets("BDD").Range("AB1:AB" & Sheets("BDD").Range("BX65000").End(xlUp).Row).Value.Copy Range("A1") ne fonctionne pas

Sheets("BDD").Range("AB1:AB" & Sheets("BDD").Range("BX65000").End(xlUp).Row).Copy Range("A1").value ne fonctionne pas

il y a aussi des .PasteSpecial(xlPasteValues) mais je ne sais pas l'utiliser.

j'ai aussi tenté via l'enregistreur de macro mais je m'y perds. ça ne ressemble pas à votre code qui lui sert à ranger et copier les données.

J'aimerais copier l'ensemble des données en valeur et les coller dans l'autre feuille.

Un dernier coup de main s'il vous plait?

Merci à vous

bonjour

le XXXXXXX.copy copie directement les données et les formules si il y en a .... si le but c'est copier uniquement les valeurs sans les formules je procède autrement je ne sais pas si c'est la meilleur méthode ... mais cela a la mérite d'être fonctionnel.

il faut que la plage d'arrivée des données soit de la meme taille que la plage a copier

donc voici le code :

Range("A1:A" & Sheets("BDD").Range("BX65000").End(xlUp).Row) = Sheets("BDD").Range("AB1:AB" & Sheets("BDD").Range("BX65000").End(xlUp).Row).value

dans ce code la feuille destination est active sinon a adapter

fred

Rechercher des sujets similaires à "copier selection lignes colonnes"