Export données et colorer certaines lignes

smeto

XLDnaute Nouveau
Bonjour tout le monde,:)

sur le classeur EOTP je souhaite avoir un code qui permet d'importer les colonnes B & C (à partir de B2 & C2) du fichier Arbo et les coller dans les colonnes A & B (à partir de A8 & B8) du fichier EOTP avec trois petites conditions :


>> après importation le code doit colorer les cellules A8 et B8 en vert
>> puis le code doit vérifier dans la colonne B de la feuille EOTP s'il trouve les textes suivants (Comptes Transitoires, Intra, Extra) il colore les cellules A & B en rouge (comme j'ai fait manuellement)
>> enfin le code doit vérifier dans la colonne B de la feuille EOTP s'il trouve les textes suivants (Compte provisoire, production, Autres Materiaux, Matos, Achats, ) il colore les cellules A & B en bleu (comme j'ai fait manuellement)

Merci de vous intéresser a mon projet :rolleyes:

Cordialement
SMETO
 

Pièces jointes

  • EOTP.xlsx
    13.5 KB · Affichages: 14
  • Arbo.XLSX
    10.3 KB · Affichages: 11

zebanx

XLDnaute Accro
Bonjour Smeto

Un essai par VBA (taper ALT+F8 puis lancer la macro depuis ARBO)

Avant :
Il faudra modifier l'extension dans le fichier ainsi que le chemin sur la macro principale qui se trouve dans le fichier ARBO (je travaille sous 2003).

Pour le faire, depuis le fichier ARBO, tu tapes ALT + F11 pour accéder au module dico et tu modifies les passages suivants (la première en rajoutant le x à la fin normalement, la deuxième dépendra de ton répertoire où se trouve le fichier EOTP.xlsx".
weotp = "EOTP.xls" '--- à adapter
fichier = "C:\Users\thierry\Desktop" '--- A àdapter

J'ai utilisé ma palette de couleurs, si elle ne convient pas, même type de manipulations.
Tu vas dans le fichier EOTP puis ALT +F11 et dans le module 1 tu trouveras la macro avec des numéros pour les colorindex.
Tu modifies les valeurs jusqu'à trouver la couleur qui te convienne (où tu crées une macro permettant de choisir sur plusieurs cellules les couleurs que tu souhaites afin d'avoir ces numéros directement pour les remplacer dans la macro EOTP_couleurs).

Et enfin, je me suis permis de rajouter le nombre d'occurences en colonne 3. Si ça ne t'intéresse pas, tu peux modifier les bornes sur les macros.
Si tu n'y arrives pas, dis-le moi je te passerai les modifications.

@+
 

Pièces jointes

  • Arbo.xls
    45 KB · Affichages: 9
  • EOTP.xls
    58 KB · Affichages: 7
Dernière édition:

zebanx

XLDnaute Accro
Euh...non :rolleyes:

Bon, en copiant l'ensemble des colonnes.
Il faut lancer la macro "exporte_eotp_colonnesBC()".
J'ai passé le code avec les fichiers en ".XLSX" qui doivent être la terminaison de vos fichier #1.

Par contre, il me semble que vous devriez enregistrer vos fichiers en format "XLSM" plutôt que "XLSX" pour pouvoir utiliser les macros.
https://www.excel-exercice.com/fichier-xls-ou-xlsx/
Dans ce cas, il faudra simplement modifier l'extension dans les macros (ALT + F11 et allez dans les différents codes).


@+
 

Pièces jointes

  • Arbo.xlsx
    10.2 KB · Affichages: 9

smeto

XLDnaute Nouveau
Re,
j'ai compris maintenant ce que vous avez fait.
vous avez créé une macro dans le fichier EOTP et une autre dans Arbo...mais je crois que vous n'avez pas bien compris ce que j'ai demandé.
j'aimerais avoir un seul code dans le fichier EOTP permettant de ramener les données du fichier Arbo et en même temps les colorer.
 

smeto

XLDnaute Nouveau
re,
désolé mais je ne comprend pas pourquoi vous avez changer l'extension de Arbo alors que c'est juste une source ca doit garder l'extension xlsx intialie.

puis dans le code j'ai remarqué que je dois adapter cette ligne fichier = "C:\Users\thierry\Desktop" '--- A àdapter à chaque fois je change de pc chose qui n'est pas fiable parce que je ne travaille pas avec un seul PC.
 

zebanx

XLDnaute Accro
Re

1. Un classeur xlsx n'a pas de macro, contrairement à un fichier xlsm.
https://www.excel-exercice.com/fichier-xls-ou-xlsx/
Essayez d'enregistrer votre fichier en xlsx, la macro devrait avoir disparu..

2. Il faut bien un chemin pour ouvrir le fichier Arbo.
Donc on a trois possibilité :
2.1 Le chemin est connu et statique (#9)
2.2 Vous choisissez où se trouve le fichier ( getopenfile avec arborescence pour obtenir la variable "chemin") mais il faut le chercher manuellement
2.3 Les deux fichiers sont sur le même répertoire.

A vous de choisir...
 

smeto

XLDnaute Nouveau
Re,
la c'est bon, ça marche même si ça prend quelque secondes pour s’exécuter parce que dans le fichier original j'ai d'autres lignes à colorer en rouge et bleu que j'ai adapté au code.
je ne sais pas s'il existe possibilité pour accélérer l'exécution

merci beaucoup pour votre soutien
 

zebanx

XLDnaute Accro
Re-

26000 lignes en un peu plus de 2.4 secondes après modification du code avec insertion d'un messagebox final pour la durée de calcul.

Pour le vérifier, sur le fichier envoyé, n'appuyez pas sur GO mais appuyez sur ALT+F8 et lancez svp la macro "EOTP_couleurs".

Une modification pour la casse dans le code (l'array "A" indiquant par exemple COMPTE PROVISOIRE doit en fait ne pas faire l'impasse si la cellule contient "Compte Provisoire" ou "compte provisoire").
Apparemment, vous avez d'ailleurs complété les Array par d'autres mots à rechercher, c'est très bien :cool:.

Bonne soirée
 

Pièces jointes

  • EOTP.xlsm
    335.7 KB · Affichages: 7

Discussions similaires