1. #1
    Membre à l'essai
    Homme Profil pro
    Chef de projet Immobilier
    Inscrit en
    mai 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet Immobilier
    Secteur : Distribution

    Informations forums :
    Inscription : mai 2015
    Messages : 20
    Points : 14
    Points
    14

    Par défaut Mise en couleur des antécédents

    Bonjour à tous,

    Je travaille actuellement sur l'automatisation d'un fichier de Rapprochement entre notre logiciel comptable SAP et un logiciel de saisie développé par mon entreprise.

    - Dans SAP, l'export dont je dispose me fournit un détail Immobilisation / Immobilisation (peut être composée de plusieurs factures). (cf. Fichier Exemple)
    - Dans notre logiciel de saisie, je dispose d'un détail facture / facture.

    --> Le but de l'exercice est de rapprocher les deux et dans la réalité, il n'y a pas grand chose qui colle (ne vous fiez donc pas à la simplicité du fichier exemple ci-joint)

    1/ J'ai automatisé les exports et la création des fichiers de travail en utilisant VBA, jusque là pas de soucis...
    2/ Je dois rapprocher les deux exports à la main (ET OUI! puisque comme expliqué ci-dessus RIEN NE COLLE!! Sinon l'exercice serait effectivement très simple via NB.SI ou RechercheV + MEF conditionnelle)

    --> Je travaille donc sur les deux onglets et pour un groupe de factures, je viens rattacher l'Immobilisation correspondante (tout se fait sur la Feuil2) et je met en couleur la cellule pour indiquer qu'elle est déjà prise en compte.

    ???? Ma question est simple : Serait-il possible de mettre en couleur une cellule sur la Feuil1 à partir du moment où sa référence est utilisée dans une cellule de la Feuil2 ????
    J'ai bien essayé à l'aide des formules : FORMULETEXTE(), INDIRECT(), TROUVE() et CHERCHE() mais sans succès !!


    Quelqu'un a une idée??


    Merci d'avance pour vos retours !!

    Fichier Exemple.xlsx

  2. #2
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    octobre 2016
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 22
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2016
    Messages : 554
    Points : 898
    Points
    898

    Par défaut

    D'après ce que tu nous dis, tu es prêt à ajouter une colonne avec une formule. Tu pourrais utiliser RECHERCHEV().
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV(valeur_à_trouver; plage_de_recherche;0)
    Si la fonction ne renvoie pas d'erreur, c'est que ta référence est dans la plage de recherche. Tu peux l'associer à un SI() est ESTERREUR()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ESTERREUR(=RECHERCHEV(valeur_à_trouver; plage_de_recherche;0));"KO";"OK")
    Ensuite tu peux utiliser une mise en forme conditionnelle sur les cellules contenant OK.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Chef de projet Immobilier
    Inscrit en
    mai 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet Immobilier
    Secteur : Distribution

    Informations forums :
    Inscription : mai 2015
    Messages : 20
    Points : 14
    Points
    14

    Par défaut

    Merci pour la solution Recherchev() mais ce n'est pas la solution ici ! Sinon je ne poserais pas la question

    En effet, j'ai différent cas de figure :
    1/ Une Immobilisation = une seule facture --> Dans ce cas mon fichier matche tout seul les valeurs (Recherchev() + MEF conditionnelle)
    2/ Une Immobilisation = Plusieurs factures --> j'aurai alors en FEUIL2 des formules du type =Feuil1!A1+Feuil1!A2+...... et je voudrais que Feuil1!A1 et Feuil1!A2 se colorent automatiquement.

    Peut être en utilisant FORMULETEXTE() + une formule matricielle en MEF conditionnelle mais là je suis perdu...

  4. #4
    Membre à l'essai
    Homme Profil pro
    Chef de projet Immobilier
    Inscrit en
    mai 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet Immobilier
    Secteur : Distribution

    Informations forums :
    Inscription : mai 2015
    Messages : 20
    Points : 14
    Points
    14

    Par défaut

    Ce sera peut être plus clair avec un exemple réel (les données étant un chouilla confidentielles, j'ai fait le ménage dans le fichier).

    Fichier Rappro.xlsm

    Onglet "3312" :
    - Rappro automatique via formule en colonne Q + mise en couleur auto des cellules dans onglet "SAP - IMMOS" (ce problème là est réglé mais la solution est un peu risquée sachant qu'on retrouve plusieurs fois certains montants)
    - Rappro manuel en colonne R (cf lignes 25 et 26) --> J'ai saisi la formule et je voudrais que 'SAP - IMMOS'!F41 et 'SAP - IMMOS'!F42 se colorent en vert AUTOMATIQUEMENT

  5. #5
    Responsable
    Office & Excel

    Avatar de Pierre Fauconnier
    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    10 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 10 160
    Points : 24 722
    Points
    24 722
    Billets dans le blog
    4

    Par défaut

    Salut.

    Il y a peut-être plus simple que de réaliser du rapprochement manuel, mais si vraiment il faut du rapprochement manuel, alors je te propose la solution suivante.

    Attention!! Cette solution impose une structure stricte de ton classeur, car on utilise le nom de la feuille et la colonne de la cellule en dur.

    Je me suis basé sur ton premier fichier

    Nom : 2017-03-14_203302.png
Affichages : 35
Taille : 24,1 Ko

    Explications:

    La formule est matricielle (dans la mfc, Excel comprend que l'on est en matricielle sans devoir valider de façon particulière... puisque l'on ne sait pas valider).
    La mfc joue sur chaque ligne de feuil1!b2:b12 puisque c'est cette plage qui est sélectionnée avant la création de la mfc

    Le principe est d'extraire la formule de chacune des cellules de Feuil2!e2:e13, et ce pour chacune des cellules de feuil1!b2:b12.

    Ensuite, on cherche dans le texte de la formule le texte feuil1!bx, x étant le numéro de la ligne (de 2 à 12, donc). SIERREUR permet de renvoyer soit VRAI (feuil1!bx est trouvé dans au moins une formule de Feuil2!e2:e13), soit FAUX (CHERCHE renvoie alors une erreur qui est capturée par SIERREUR).

    Chaque VRA/FAUX est multiplié par 1 (=> VRAI est converti en 1 et FAUX est converti en 0). On additionne les 12 VRAI/FAUX convertis (chaque cellule de feuil2!E2:E13 renvoie VRAI ou FAUX) et on teste que la somme est > 0. Si >0, alors la cellule a été utilisée au moins une fois. La formule renvoie donc VRAI ou FAUX pour chaque cellule de feuil1!b2:b12 et la cellule est colorée en fonction du résultat.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    N'oubliez pas de VOTER (en bas à droite d'un message)
    ---------------

  6. #6
    Membre à l'essai
    Homme Profil pro
    Chef de projet Immobilier
    Inscrit en
    mai 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet Immobilier
    Secteur : Distribution

    Informations forums :
    Inscription : mai 2015
    Messages : 20
    Points : 14
    Points
    14

    Par défaut

    Merci pour ta réponse Pierre ! Apparemment ça fonctionne --> J'ai juste adapté à mon fichier et j'ai rajouté un INDIRECT() pour que la formule reste d'actu même après exécution de la macro (cf. Ci-dessous)

    Seul bémol : le fichier est fortement ralenti par la formule matricielle....

    Nom : 2017-03-15 17_19_35-3118_FOSSES Saint Ladre_RapproComptable.xlsm - Excel (Utilisation non commer.png
Affichages : 32
Taille : 20,9 Ko


    Pour le moment ça fera l'affaire mais je continue à fouiller car je trouve quand même bizarre qu'il n'y ait pas de solution plus simple pour une action qui reste TRES Basique.

    Je laisse le sujet ouvert pour quelques jours, on ne sait jamais.... si quelqu'un a une idée lumineuse !

  7. #7
    Responsable
    Office & Excel

    Avatar de Pierre Fauconnier
    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    10 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 10 160
    Points : 24 722
    Points
    24 722
    Billets dans le blog
    4

    Par défaut

    A mon avis, ton idée de travailler sur les antécédents est une piste qui camoufle un problème de conception de fichier.

    Je pense qu'il faudrait étudier la possibilité d'ajouter une colonne qui utiliserait le code (sap ou autre) de l'autre feuille. On pourrait alors s'en tirer avec un NB.SI.ENS par exemple.

    Travailler avec les dépendants/antécédents n'est pas une bonne idée et c'est pour cela qu'Excel ne propose pas d'outils natifs.

    La mauvaise conception du fichier impose un bricolage dont on devrait se passer après une bonne analyse du besoin et de la structure du fichier...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    N'oubliez pas de VOTER (en bas à droite d'un message)
    ---------------

  8. #8
    Membre à l'essai
    Homme Profil pro
    Chef de projet Immobilier
    Inscrit en
    mai 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet Immobilier
    Secteur : Distribution

    Informations forums :
    Inscription : mai 2015
    Messages : 20
    Points : 14
    Points
    14

    Par défaut

    Effectivement ! Tu mets le doigt sur une réalité : LE BRICOLAGE !

    Si je suis obligé de passer par ces contournement, c'est justement dû au fait que SAP et notre logiciel de saisie en interne ne répondent pas du tout à la même logique, mais sont malheureusement les seules bases dont je dispose.

    SAP = Groupes de factures formant des Immobilisations (aucun moyen de rattacher le code SAP d'une facture au code SAP d'une Immobilisation car l'activation de nos factures est réalisée en BLOC via une transaction spécifique 3 mois après la fin du chantier)
    Immogest = Saisie facture / facture (on y retrouve uniquement le code SAP facture)

    --> Si je pouvais interroger SAP facture par facture, une simple RechercheV me permettrait de faire mon rapprochement.

    Le gros problème ici vient de nos systèmes, d'où le bricolage !

    Merci pour tes conseils, mais en attendant que notre environnement SAP soit modifié, je vais rester sur la solution que tu m'as trouvée

  9. #9
    Membre à l'essai
    Homme Profil pro
    Chef de projet Immobilier
    Inscrit en
    mai 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet Immobilier
    Secteur : Distribution

    Informations forums :
    Inscription : mai 2015
    Messages : 20
    Points : 14
    Points
    14

    Par défaut

    Une nouvelle problématique est apparue avec cette formule !

    Je n'arrive pas a lui faire comprendre qu'il faut chercher que la ligne "200" et pas la "20" (exemple)
    S'il retrouve des nombre à 2 chiffres dans un nombre à 3 chiffres il colore les deux cellules....

  10. #10
    Responsable
    Office & Excel

    Avatar de Pierre Fauconnier
    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    10 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 10 160
    Points : 24 722
    Points
    24 722
    Billets dans le blog
    4

    Par défaut

    Ce qui est assez normal...

    Je reste convaincu qu'il y a moyen de travailler sur les données plutôt que sur les formules. Il me semble d'ailleurs que ton classeur enfreint des règles d'Excel.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    N'oubliez pas de VOTER (en bas à droite d'un message)
    ---------------

  11. #11
    Membre à l'essai
    Homme Profil pro
    Chef de projet Immobilier
    Inscrit en
    mai 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet Immobilier
    Secteur : Distribution

    Informations forums :
    Inscription : mai 2015
    Messages : 20
    Points : 14
    Points
    14

    Par défaut

    Je traite l'export à partir de la ligne 100 et je n'ai plus ce problème... :/ Je sais que ce n'est pas très orthodoxe !

    Le classeur que tu as vu est tout ce dont je dispose pour réaliser cet exercice et comme je te l'ai dit j'ai du mal à faire parler les deux BDD ensembles... Si tu as un peu compris ce que je dois faire, je suis ouvert à toute bonne proposition

    Que veux-tu dire quand tu écris "Il me semble d'ailleurs que ton classeur enfreint des règles d'Excel." ?

Discussions similaires

  1. Macro recherche avec mise en couleur des mots clefs
    Par stephadm dans le forum Macros et VBA Excel
    Réponses: 33
    Dernier message: 13/07/2011, 22h42
  2. [XL-2003] Macro recherche avec mise en couleur des mots clefs
    Par empochez dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/05/2011, 18h52
  3. [XL-2003] problème de recherche de doublon et mise en couleur des mots
    Par lolodera dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 02/05/2011, 10h13
  4. mise en couleur des résultats
    Par adriennoob dans le forum IHM
    Réponses: 6
    Dernier message: 29/01/2009, 18h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo