Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Copier-coller par macro

24 réponses
Avatar
Sunburn
Bonjour,
je souhaite automatiser une tache.
voici mon classeur exemple :
http://cjoint.com/?bymQpMYlxz
(ne pas tenir compte du nombre de ligne en "GA14", je vais augmenter le
nombre de ligne, pour que mes traitements futur fonctionnent).

je voudrais une macro qui me permette de passer de "Bal2" à "GA14", avec les
besoins ci-après :
- macro qui fonctionne sur mon onglet "GA14", (la procédure viendra avant la
procédure pour le bouton existant)
- de "Bal2" A3 à la dernière ligne, copie-colle en "GA14" C12 (collage
valeur uniquement) **(colonne A référence pour le nombre de ligne à
copier-coller)
- de "Bal2" B3à la dernière ligne de la colonne A, copie-colle en "GA14" H12
(collage valeur uniquement)
- de "Bal2" D3 à la dernière ligne de la colonne A, copie-colle en "GA14"
E12 (collage valeur uniquement)
- de "Bal2" E3 à la dernière ligne de la colonne A, copie-colle en "GA14"
F12 (collage valeur uniquement)

Comment puis-je faire ??
Merci.
YANN

10 réponses

1 2 3
Avatar
FFO
Rebonjour à toi
Sur ce lien ton fichier adapté

http://www.cijoint.fr/cjlink.php?file=cj200901/cijSBgk8Jc.xls

Dans l'onglet "Bal2" pour une présence d'un crédit et d'un débit sur une
ligne seul le plus important est concervé

Seul cas non traité c'est celui d'une éventuelle égalité

Attention la macro Recopie qui est présente ne peux fonctionner que si une
colonne dans l'onglet "Bal2" est rajouté à partir de la colonne C

Fais des essais et dis moi !!!!
Avatar
Sunburn
rebonjour,
Dans l'onglet "Bal2" pour une présence d'un crédit et d'un débit sur une
ligne seul le plus important est concervé


Non, on doit conserver non pas le montant le plus élevé, mais la différence.

exemple :
en GA10 j'ai le compte 108000 qui est au credit pour 463.255,95.
si en GA11 ou GA12 j'ai une ecriture qui a pour compte 108000 avec un
montant au debit pour 100.000, alors, dans "Bal2", mon compte 108000 devra
etre au credit pour 363.255,95
en fait, il faut faire la somme de tous les montants pour chaque compte, au
debit et au credit, puis indiquer le solde, soit au debit ou au credit, de
facon a avoir un chiffre positif :
Somme des comptes 108000 : DEBIT = 100.000 CREDIT = 463.255,95 donc on
calcul 463.255,95-100.000 = 363.255,95, c'est positif, donc ce montant va en
"Bal2" colonne CREDIT (D) sur ton classeur recemmment envoyé.

Autrement dit, "Bal2" doit avoir la meme tete que "GA10"....

alors, je ne sais pas trop comment faire.
on peut copier GA10 (colonnes A à D), GA11 et GA12 sur Bal2 (sur la droite
de la feuille).
puis on peut ptèt trier tout ça par compte puis par libellé.
puis énumérer les comptes sans doublons, calculer le solde de chacun de ces
comptes (en prenant total CREDIT - total DEBIT), là on a un chiffre en + ou
en -.
puis on copie sur les cellules A3 à D le résultat de tout ça.
on rajoute ensuite les colonnes E et F de GA10 sur Bal2 (mais attention, car
il peut y avoir des comptes qui existent en GA10 colonnes E et F, et par sur
GA10 ou GA11 ou GA12.....


Dis-moi si c'est plus clair comme ça....

Seul cas non traité c'est celui d'une éventuelle égalité


Si Total des Debit = Total des Credit => la ligne apparait à vide


Attention la macro Recopie qui est présente ne peux fonctionner que si une
colonne dans l'onglet "Bal2" est rajouté à partir de la colonne C



je verrais cette macro plus tard, il faut d'abord que j'arrive à avoir mon
onglet "Bal2" correct, puisque la recopie ne sera pas bonne si "Bal2" n'est
pas bon.


YANN
Avatar
Sunburn
re,
je viens de repenser à autre chose.
on peut ptèt mettre des formules dans l'onglet Bal2, les colonnes B à F.

* B irait chercher sur GA10 en B, si rien sur GA11 en H, si rien sur GA12 en
H, le libellé selon le compte en A de bal2
*C irait chercher sur GA10 le total de D - le total de C, sur GA11 et GA12
le total de F- le total de E selon le compte en A de bal2. si c'est positif,
alors vide, sinon, le montant trouvé.
* D irait chercher sur GA10 le total de D - le total de C, sur GA11 et GA12
le total de F- le total de E selon le compte en A de bal2. si c'est négatif,
alors vide, sinon, le montant trouvé.
* pour E et F, il va chercher sur "GA10" E et F.

Donc le gros soucis, serait de remplir la colonne A, en énumérant les
comptes sans doublons, qui existent sur les onglets GA10, GA11 et GA12.

j'ai déja des zones qui sont nommées GA10_comptes, GA10_Debit et GA10_credit
etc... on peut ptèt s'en servir....

YANN
Avatar
FFO
Rebonjour à toi

Je tente cette nouvelle proposition

La situation est si complexe que je n'ose m'aventurer quant à la qualité du
résultat

Fais des essais et dis moi !!!

http://www.cijoint.fr/cjlink.php?file=cj200901/cijkdARl2v.xls
Avatar
Sunburn
re,
je te laisse le message que j'avais commencé à écrire......
mais j'ai retesté, et ça fonctionne....
je reteste.....

mais bon, comment rajouté GA13 ???
Merci.
YANN

-------
c'est presque ça.
je pense qu'il manque le cas où c'est egal à 0.
en effet, si mon compte est egal à 0 au niveau de l'addition des GA11 et
GA12, alors il devrait ne rien y avoir en C et D, or j'ai le total qui vient
s'ajouter au montant de GA10.
je te remet un fichier pour exemple.
http://cjoint.com/?bzp6UhzguX
par contre, GA10 reste tel quel, et pour faire GA14, il faut faire GA10 +
(GA11+GA12+GA13) (GA13 est rajouté par rapport a avant, jsais pas si ça
change quelque chose.)
Avatar
FFO
Rebonjour à toi

cà fonctionne ou cà fonctionne pas ????

Pour GA13 le rajouter dans la ligne de code :

For Each i In Sheets(Array("GA11", "GA12", "GA14"))

ainsi :

For Each i In Sheets(Array("GA11", "GA12","GA13", "GA14"))

Celà devrait fonctionner
Dis moi !!!!
Avatar
Sunburn
re,

et ben ça marche... et je vais rajouter GA13 alors.
je te remercie beaucoup.
YANN


For Each i In Sheets(Array("GA11", "GA12","GA13", "GA14"))

Celà devrait fonctionner
Dis moi !!!!



Avatar
Sunburn
re,
je reviens vers toi pour une modification du code que tu m'as donné.
en effet, le traitement est assez long, trop pour mon classeur.
Peux-t-on simplement s'occuper des colonnes A et B, c'est à dire le numéro
de compte et le libellé ??
Merci.
YANN.
Avatar
FFO
Rebonjour à toi

Je ne suis pas certain que tu allèges le temps d'éxécution en ne traitant
que les colonnes A et B car ce qui est gourmand dans ce domaine ce sont les
boucles de toute façon nécessaire quelque soient les colonnes à prendre en
compte pour synthétiser les x onglets

Pourrais tu me transmettre ton fichier pour que je l'analyse et te proposer
d'éventuels palliatifs

Merci d'avance
Avatar
Sunburn
ok,
alors, voila,
pour palier à la lenteur, j'ai pensé résoudre le problème par formule.
ça fonctionne pas mal, sauf pour les libellés, j'ai du mal à les récupérer
... tu pourras le voir. :'(
je te l'envoi sur Free, car trop gros pour cjoint
http://dl.free.fr/oi5BY7LHW
Donc oui, si tu peux m'aider, ça me va.
YANN
1 2 3