[Résolu][Calc] Plage à copier en fonction de la date de différentes colonnes selon les feuilles

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
psylo24
Membre lOOyal
Membre lOOyal
Messages : 31
Inscription : 08 janv. 2020 22:35

[Résolu][Calc] Plage à copier en fonction de la date de différentes colonnes selon les feuilles

Message par psylo24 »

Bonjour,

Toujours dans l'optimisation de la macro, (post précédent viewtopic.php?t=66556 )
dans mes feuilles sources, la date n'est pas toujours en colonne B mais aussi des fois en C (feuille Source4), du coup la macro ne fonctionne plu.

Je n'ai pas les connaissances pour savoir quoi modifier, pouvez vous me donner vos conseil svp ?

Le fichier exemple est en pièce jointe de ce post
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par psylo24 le 21 mars 2023 12:08, modifié 2 fois.
Version: 7.3.7.2 / LibreOffice Community
Build ID: e114eadc50a9ff8d8c8a0567d6da8f454beeb84f
CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3
Locale: fr-FR (fr_FR.UTF-8); UI: en-US
Calc: threaded
Build ID: 1:6.0.7-0ubuntu0.18.04.12
Avatar de l’utilisateur
Loopingss
InconditiOOnnel
InconditiOOnnel
Messages : 783
Inscription : 17 déc. 2008 01:50

Re: [Calc] Chercher plage à copier en fonction de la date dans différentes colones selon les feuilles

Message par Loopingss »

Bonjour.
Soit
- vous vous arrangez pour que la date soit toujours sur la même colonne quelque soit la feuille source.
- vous testez pour savoir sur quelle feuille vous vous trouvez : si source1 à 3 => colonne B, si Source 4 => colonne C
Si c'est vous qui avez écrit la macro du fichier, vous devriez vous en sortir sans problème.
En espérant avoir pu vous aider.
COOrdialement.
psylo24
Membre lOOyal
Membre lOOyal
Messages : 31
Inscription : 08 janv. 2020 22:35

Re: [Calc] Chercher plage à copier en fonction de la date dans différentes colonnes selon les feuilles

Message par psylo24 »

Bonjour,

Merci pour votre réponse mais je ne peux pas faire en sorte que la date soit toujours en colonne B.
Ce n'est pas moi qui ai écrit la macro.
De plus dans certaines feuilles j'ai une date dans deux colonnes différentes, comment faire pour les différencier ?

Merci
Version: 7.3.7.2 / LibreOffice Community
Build ID: e114eadc50a9ff8d8c8a0567d6da8f454beeb84f
CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3
Locale: fr-FR (fr_FR.UTF-8); UI: en-US
Calc: threaded
Build ID: 1:6.0.7-0ubuntu0.18.04.12
Avatar de l’utilisateur
Loopingss
InconditiOOnnel
InconditiOOnnel
Messages : 783
Inscription : 17 déc. 2008 01:50

Re: [Calc] Chercher plage à copier en fonction de la date dans différentes colonnes selon les feuilles

Message par Loopingss »

Bonsoir.
Lors du balayage de la colonne B de la ligne 1 à la ligne n par une boucle incrémentant i :
- récupérez le valeur de la cellule Bi.
- Testez le format.
- Si c'est un format date alors utilisez cette valeur.
- Dans le cas contraire récupérez la valeur de la cellule Ci et utilisez cette valeur

- Next i, of course.

Bonne soirée.
COOordialement.
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: [Calc] Chercher plage à copier en fonction de la date dans différentes colonnes selon les feuilles

Message par zeguedon »

Bonjour,
psylo24 a écrit : 12 janv. 2023 21:00 dans certaines feuilles j'ai une date dans deux colonnes différentes, comment faire pour les différencier ?
Il faudrait à minima un critère sur lequel se baser pour savoir quelle colonne traiter. Lorsque le traitement est effectué "manuellement" qu'est-ce qui permet de savoir quelle colonne doit-être évaluée ? Date supérieure ou inférieure à l'autre ? Date comprise entre deux années définies ? etc...

@+
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
psylo24
Membre lOOyal
Membre lOOyal
Messages : 31
Inscription : 08 janv. 2020 22:35

Re: [Calc] Chercher plage à copier en fonction de la date dans différentes colonnes selon les feuilles

Message par psylo24 »

Bonjour

En ce qui concerne le critère, dans la feuille Source3 il faudrait prendre la colonne C au lieu de la B qui est la seconde date (dans tous les cas) ou sinon on peut aussi mettre comme critère que la cellule C1 = "Date de paiement"

Voir fichier en PJ
Exemple_V2.ods
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Version: 7.3.7.2 / LibreOffice Community
Build ID: e114eadc50a9ff8d8c8a0567d6da8f454beeb84f
CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3
Locale: fr-FR (fr_FR.UTF-8); UI: en-US
Calc: threaded
Build ID: 1:6.0.7-0ubuntu0.18.04.12
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26195
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Chercher plage à copier en fonction de la date dans différentes colonnes selon les feuilles

Message par Dude »

Salut,
psylo24 a écrit : 16 janv. 2023 11:28 mettre comme critère que la cellule C1 = "Date de paiement"
Et tu ne sais pas récupérer le contenu de C1 ?

Si tu ne veux pas t'investir dans la programmation, tu peux te servir de l'extension zBasic.
Et tu fais simplement :

Code : Tout sélectionner

Sub Test
  GlobalScope.BasicLibraries.loadLibrary("zBasic")
  maCell = zCellule.Lit("Feuille1", "C1")
  msgbox maCell
En sub
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: [Calc] Chercher plage à copier en fonction de la date dans différentes colonnes selon les feuilles

Message par zeguedon »

Bonjour,
Espérant que ce sujet soit toujours d'actualité.

Il est possible de choisir une feuille destination par trimestre, en répondant Oui à la question :
Capture d’écran du 2023-01-21 19-47-55.png
ou une feuille unique pour tous les trimestres en répondant Non

Une demande d'écrasement suit si une feuille existe déjà d'un précédent traitement.

La colonne Date paiement est prioritairement recherchée. Si elle n'est pas trouvée, c'est la colonne Date qui est recherchée pour effectuer la recherche de trimestre.
A tester

@+
 Ajout : Remplacement du fichier pour correction d'une variable d'objet non définie (ligne148 et 149 du fichier joint)+ ajout et traitement du bouton annuler aux dialogues d'écrasement et choix destination. 
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
psylo24
Membre lOOyal
Membre lOOyal
Messages : 31
Inscription : 08 janv. 2020 22:35

Re: [Calc] Chercher plage à copier en fonction de la date dans différentes colonnes selon les feuilles

Message par psylo24 »

Merci la derniére réponse a résolu le probléme

Encore merci
Version: 7.3.7.2 / LibreOffice Community
Build ID: e114eadc50a9ff8d8c8a0567d6da8f454beeb84f
CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3
Locale: fr-FR (fr_FR.UTF-8); UI: en-US
Calc: threaded
Build ID: 1:6.0.7-0ubuntu0.18.04.12