Tableau et conditions

Ariochs

XLDnaute Nouveau
Bonjour,

Alors voilà, j'ai un tableau qui a plusieurs colonnes (département, société, mail, etc..) et ainsi que plusieurs onglets (en fait un par département).

Je voudrais que mon tableau se recopie dans les autres onglets mais avec des conditions. En fait ce que je veux, c'est quand je vais cliquer dans onglet "département" (par exemple l'onglet "07-Ardèche"), j'ai mon tableau qui apparait, mais qu'avec les entreprises de ce département (et du coup, à chaque fois que j'ajoute une entreprise dans ma feuille1, l'entreprise s'ajoute aussi dans l'onglet du département où est la société).

Je sais que je pourrais le faire en cliquant dans ma colonne et ne sélectionner que le département, mais ça ne me convient pas.

Après je pense que ce n'est pas dur à faire, mais Excel n'est pas mon fort... (j'aurais préféré le faire en html/php/mysql hihi)

Et du coup (vu qu'il y a des personnes plutôt calé sur le site), est-il possible de faire une feuille excel avec des listes deroulantes, où je choisis le departement et une (voir deux où trois plutôt) autre condition (par exemple je veux toutes les entreprises de l'Ain qui propose du matériel de sonorisation), et cela m'ouvre un autre onglet avec les résultats de ma recherche ?

Merci pour votre aide.

G.
 

Pièces jointes

  • Exemple_Excel-Downloads.xlsx
    18.2 KB · Affichages: 61
  • Exemple_Excel-Downloads.xlsx
    18.2 KB · Affichages: 66
  • Exemple_Excel-Downloads.xlsx
    18.2 KB · Affichages: 67

CISCO

XLDnaute Barbatruc
Re : Tableau et conditions

Bonjour

Si, si, cela fonctionne si on fait comme décrit dans mon précédent post, mais cela n'est vraiment pas très pratique.

Dans le fichier ci-joint, sur la feuille Societe, j'ai ajouté la colonne I Site internet bis, et j'ai mis dans les cellules I2 et I3 le nom du site correspondant à H2 et H3.
Dans la feuille Selection, j'ai modifié les formules en colonne G. Attention, le premier RECHERCHEV renvoie le résultat de la colonne 8 (c-à-d l'adresse du site), alors que le second renvoie celui de la colonne 7 (c-à-d oui). Et ça fonctionne. Le texte dans la colonne G n'apparait pas sous forme de lien hypertexte, en bleu et souligné, mais lorsque tu cliques sur la cellule, tu accèdes au site correspondant.

Si on ne trouve pas d'autre technique, tu pourras toujours faire ainsi, en cachant ensuite les nombreuses colonnes bis que tu auras crées et remplies.

@ plus
 

Pièces jointes

  • Liste Fournisseurs_sept(1).xlsx
    30.6 KB · Affichages: 37
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Tableau et conditions

Rebonjour

Tu peux aussi faire sans créer de nouvelle colonne bis, mais en mettant directement dans la colonne concernée, dans la feuille Societe, l'adresse du site (au lieu du "oui"). Dans le fichier ci-joint, pour que le test en colonne A fonctionne, j'ai modifié la définition de produitA3B3C3 en conséquence, en remplaçant les ="oui" par des <>"non" (puisqu'on doit afficher quelque chose, non plus lorsqu'il y a un "oui", mais lorsqu'il y a une adresse (Cela métonnerai qu'il y ai une adresse intitulée "non" :))).
Bilan : ça fonctionne aussi, mais l'affichage obtenu est plus lourd qu'une simple série de oui et de non. De plus, certains sites sont précédés d'un www, d'autres pas... Il faudra peut être tester l'ouverture de tous les sites pour voir si cela fonctionne bien.

@ plus
 

Pièces jointes

  • Liste Fournisseurs (8).xlsx
    30.8 KB · Affichages: 40

Ariochs

XLDnaute Nouveau
Re : Tableau et conditions

Re,

Alors moi j'ai eu une autre idée du coup. Le truc de ta colonne "Bis" me va bien (même si ça grossi la fichier). L'idée : faire des colonnes "bis" pour toutes les colonnes qui ont un "oui". Après il me faut une fonction qui extrait juste l'hyperlien de la colonne précédente.

J'ai commencé à chercher sur le net et j'ai trouvé une macro qui me sort les hyperliens. Mais (oui il y a toujours un mais), c'est en macro.. donc il faut relancer la macro à chaque ajout de société, et ça ajoute aussi le http (quoique pour le http ce n'est pas un problème, on doit pouvoir juste transformer la partie

=SI(A7="";"";LIEN_HYPERTEXTE("http://"&RECHERCHEV(A7;Societe!B$2:I$1000;8;0)&"/";RECHERCHEV(A7;Societe!B$2:H$1000;7;0)))

en

=SI(A7="";"";LIEN_HYPERTEXTE(RECHERCHEV(A7;Societe!B$2:I$1000;8;0)&"/";RECHERCHEV(A7;Societe!B$2:H$1000;7;0)))


Enfin voilà à quoi ressemble la Macro :

Code:
Sub ExtractionLiensHypertextes()
 Dim Cell As Range
 On Error Resume Next
 For Each Cell In Range("A1:A" & Range("A65536").End(xlUp).Row)
 Cell.Offset(0, 1) = Cell.Hyperlinks(1).Address
 Next Cell
 End Sub

Aurais-tu une idée pour faire là même chose, mais sans passer pour une macro ?


[EDIT 11h42] : J'ai trouvé !!!!!! Voici la fonction :

Code:
Function AdrHyperlien(cell As Range)
 AdrHyperlien = cell.Hyperlinks(1).Address
 End Function

Je vais faire des tests sur le gros fichier, je reviens un peu plus tard ^^
 
Dernière édition:

Ariochs

XLDnaute Nouveau
Re : Tableau et conditions

Bon on y est presque !!

L'idée est bonne, mais du coup ce n'est plus trop esthétique. Je souhaiterais donc créer un ongler "liens" qui recupère tous les liens (comme dans le fichier en pièce jointe).

Seul problème c'est comment l'onglet "selection" va récuperer l'url après qui est dans l'onglet "liens" en correspondant bien avec les sociétés ?

Est-il possible pour les cas où il n'y a aura pas de liens (donc des cases avec "non") de changer le #valeur! en case blanche ou alors "non" mais sans la main cliquable ? (pour la main encore ce n'est pas trop grave)

Après ça le fichier sera parfait (enfin normalement ^^)
 

Pièces jointes

  • Liste Fournisseurs_dix.xlsx
    51 KB · Affichages: 48

CISCO

XLDnaute Barbatruc
Re : Tableau et conditions

Bonjour

Oui, apparemment, cela semble une possibilité. Mais tel que, tu n'as rapatrié que les URL de la colonne H (Site internet), pas ceux des colonnes suivantes qui ciblent un endroit particulier dans ces sites ? Dommage.

Pour ce qui est du #valeur, tu peux l'éliminer en mettant devant la formule SIERREUR, si tu travailles sur excel 2007 ou 2010.

@ plus

P.S : Attention, dans la colonne Selection!H, c'est Societe!B$2:I$1000;8;0));"") et non Societe!B$2:I$1000;9;0));"")
 
Dernière édition:

Ariochs

XLDnaute Nouveau
Re : Tableau et conditions

Oui je sais. Pour les autres colonnes je vais le faire après, mais je voulais d'abord voir si tu me proposais une solutions pour mettre tous les liens dans l'onglet "liens". Comme ça, cela evite de trop charger l'onglet "societe" .

Et pour la colonne H je ne l'ai pas encore faite, je vais faire les modifs après pour qu'elle ressorte les liens aussi (vu que les liens donnent sur des pages bien définis).

Merci pour ton aide en tout cas, tu m'as rendu un très grand service.

A bientot.

G.
 

CISCO

XLDnaute Barbatruc
Re : Tableau et conditions

Rebonjour
Bon on y est presque !!
...
Seul problème c'est comment l'onglet "selection" va récuperer l'url après qui est dans l'onglet "liens" en correspondant bien avec les sociétés ?

Avant d'essayer de résoudre ce problème, et comme je suis étonné qu'on ne puisse pas récupérer directement l'adresse X correspondant à une cellule contenant un lien hypertexte (oui ici), je cherche un peu sur le net. Cela serait qu'en même plus simple : En Selection!G7, faire appel au contenu d'une des cellules de la colonne Societe!H (oui), qui ferait appel automatiquement à l'adresse X du site correspondant.

@ plus
 

CISCO

XLDnaute Barbatruc
Re : Tableau et conditions

Bonsoir

N'y arrivant pas avec une formule, on peut toujours le faire avec une petite macro (si cela ne te pose pas de problème de sécurité au travail).

Grace à Tototiti2008 (cf. https://www.excel-downloads.com/threads/fonction-recherche-et-lien-hypertexte.99690/), et à sa fonction Adrlien (Ca ressemble beaucoup aux macros que tu avais trouvé),
Code:
Function AdrLien(Plage As Range) As String
    AdrLien = Plage.Hyperlinks(1).Address
End Function
j'ai modifié ton fichier. Maintenant, quand tu cliques sur un oui, cela ouvre automatiquement le site correspondant. J'ai aussi modifié la formule en Selection!G2 pour qu'elle soit tirable vers le bas (ce n'est pas nouveau), mais aussi vers la droite. Résultat : Maintenant, il ni a plus qu'une seule formule pour les colonnes Selection!G à Selection!W. Attention, toutefois, cela ne fonctionnera correctement que si les en-têtes "Site internet", "Lien catalogue"... sont exactement dans le même ordre sur les deux feuilles, de H à X pour Societe, sans colonne supplémentaire intercalée sur une des deux feuilles.

Si tu ne peux pas travailler avec des fichiers contenant des macros, et bien, on essaiera de trouver autre chose.

A qui on dit merci ? Mais non, pas à moi, mais à Tototiti2008.

@ plus

PS : Il y a qu'en même un défaut : les non semblent aussi être des liens hypertextes : Le curseur se transforme en main en passant dessus. Mais cela n'ouvre rien si on clique dessus.
 

Pièces jointes

  • Liste Fournisseurs (9).xlsm
    39.9 KB · Affichages: 44
Dernière édition:

Ariochs

XLDnaute Nouveau
Re : Tableau et conditions

Wouah !!!! C'est génial ce que tu as fait.

Je te remercie vraiment pour ton aide, le fichier est parfait.

Sinon non, je ne vais pas deplacer les colonnes. Par contre je vais peut-etre en rajouter avec le temps, mais du coup ça devrait pas être trop dur pour modifier legerement le code.

Un grand merci à toi et aussi à Tototiti2008.
 

CISCO

XLDnaute Barbatruc
Re : Tableau et conditions

Bonjour

J'avais oublié de rendre dynamique les plages du type B$2:C$1000, B$2: D$1000, B$2:E$1000....B$2:X$1000. C'est fait en utilisant une seule plage nommée listeBetsuivantes, couvrant B$2:X$24 dans l'exemple ci-joint. Cette plage commencera toujours en $B$2, mais s'agrandira vers le bas (25, 26...) ou vers la droite (Y, Z) en fonction des modifications que tu apporteras à ton fichier.
Maintenant donc, tu n'as plus la limite des 1000.
De même, j'ai modifié la définition de liste2 pour rendre cette liste dynamique.


Il ni a que la liste departement qui n'est pas dynamique.

@ plus
 

Pièces jointes

  • Liste Fournisseurs (10).xlsm
    41 KB · Affichages: 30
Dernière édition:

Ariochs

XLDnaute Nouveau
Re : Tableau et conditions

Bonjour,

Me re-voilà très rapidement après avoir trouvé deux trois problèmes... Alors je n'avais pas remarqué, mais depuis la dernière version, les liens ne fonctionne plus... (je viens d'essayer avec le fichier "Liste Fournisseurs (10)" si je clique sur un oui qui correspond au site internet dans l'onglet "selection", aucun lien ne s'ouvre (alors que sur la version 9 tout fonctionne (je pense que ça vient de la partie listeBetsuivantes qui a été" ajoutée entre deux).

Second problème : dans les adresses mails, j'ai parfois le lien url d'une page web, et non d'une adresse mail. Du coup la fonction mailto m'empeche d'ouvrir le lien (voir dans le departement 59). Est-il possible de faire une difference entre les deux ? (si non, ce n'est pas un gros problème)



Maintenant petit ajout : Je souhaiterais en fait ajouter dans un autre onglet, une carte de la France avec des points rouges qui correspondent aux sociétés presente dans le département.

Alors pas besoin d'un truc trop compliqué. En fait une liste déroulante des différents services (de écran à cameraman) et si on selectionne écran, un liste de point rouge s'affiche sur la carte pour informer que des prestataires se trouve dans tel ou tel département (si une ou plusieurs sociétés sont présentes dans un département, juste un rond s'ajoute, pas besoin d'en avoir plusieurs ou de taille differente).

Alors petit exemple de la carte que j'ai ajouté (et que je trouve très bien réalisée) : https://www.excel-downloads.com/threads/insertion-carte-de-france-dans-excel.47978/ .

Serais-tu comment ajouter les ronds ? J'ai essayé plusieurs trucs avec des fichiers que j'ai trouvé, mais aucun fonctionne. Je rajoute en fichier joints l'exemple le plus ressemblant.

Encore merci pour ton aide.
 

Pièces jointes

  • Liste Fournisseurs (12).xlsm
    136.6 KB · Affichages: 45
  • Exemple-Point-Rouge.xls
    125 KB · Affichages: 33
  • Exemple-Point-Rouge.xls
    125 KB · Affichages: 35
  • Exemple-Point-Rouge.xls
    125 KB · Affichages: 32

CISCO

XLDnaute Barbatruc
Re : Tableau et conditions

Bonsoir

Et oui, les liens à partir de la colonne H ne fonctionne pas dans la version 10. Le problème vient apparemment du second listBetsuivantes dans la formule :
Code:
SI($A7="";"";SI(RECHERCHEV($A7;listeBetsuivantes;COLONNES($A:G);0)="non";"non";LIEN_HYPERTEXTE(adrlien(DECALER(Societe!$G$1;EQUIV($A7;listeBsociété;0);EQUIV(G$6;liste2;0)));RECHERCHEV($A7;listeBetsuivantes;COLONNES($A:G);0))))
puisque
Code:
SI(.....RECHERCHEV($A7;Societe!$B$2:$BX$1000;COLONNES($A:G);0))))
, elle, fonctionne. De même pour
Code:
SI(.....RECHERCHEV($A7;Societe!$B$2:$BX$24;COLONNES($A:G);0))))

C'est étrange, mais cela doit venir de la configuration exacte , de la fonction LIEN_HYPERTEXTE.

De même, la formule, avec un DECALER à la fin à la place du dernier RECHERCHEV
Code:
SI($A7="";"";SI(RECHERCHEV($A7;listeBetsuivantes;COLONNES($A:G);0)="non";"non";LIEN_HYPERTEXTE(adrlien(DECALER(Societe!$G$1;EQUIV($A7;listeBsociété;0);EQUIV(G$6;liste2;0)));DECALER(Societe!$G$1;EQUIV($A7;listeBsociété;0);EQUIV(G$6;liste2;0)))))
ne fonctionne pas alors que
Code:
DECALER(Societe!$G$1;EQUIV($A7;listeBsociété;0);EQUIV(G$6;liste2;0))
désigne la même cellule que
Code:
RECHERCHEV($A7;Societe!$B$2:$BX$1000;COLONNES($A:G);0)
.

Dans ces conditions, ce n'est plus intéressant d'utiliser la plage dynamique listeBetsuivantes, puisqu'on en a besoin deux fois dans la formule, mais qu'elle n'est pas utilisable à la fin. On oublie donc cette plage dynamique, et on revient à la formule de la version 9. Et tu as de nouveau la limite à 1000.

Pour les autres "détails", je verrai ça ce W.E.

@ plus
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Tableau et conditions

Bonjour
Bonjour,

Second problème : dans les adresses mails, j'ai parfois le lien url d'une page web, et non d'une adresse mail. Du coup la fonction mailto m'empeche d'ouvrir le lien (voir dans le departement 59). Est-il possible de faire une difference entre les deux ? (si non, ce n'est pas un gros problème)

Pour ce qui est de ce problème, pour le moment, je n'y arrive pas. Faut dire que la fonction LIEN_HYPERTEXTE a l'air d'être capricieuse.

J'espèrai faire un truc du style SI(test;résultat si VRAI;résultat si FAUX)
Code:
SI(adresse contient http;LIEN_HYPERTEXTE(...;....);LIEN_HYPERTEXTE("Mailto:"&...;...))

Et bien, cela ne fonctionne pas. En choississant le département du Nord, 59 (Bonjour à eux), si on écrit en B7, en matriciel :
Code:
SI(1=1;LIEN_HYPERTEXTE(adrlien(DECALER(Societe!$C$1;EQUIV($A7;listeBsociété;0);));RECHERCHEV(A7;Societe!$B2:$X1000;2;0)))
on a bien accès à l'écran contact du site correspondant PUBLIC ADRESS.

Si on met
Code:
SI(GAUCHE(adrlien(DECALER(Societe!$C$1;EQUIV($A7;listeBsociété;0);));4)="http";LIEN_HYPERTEXTE(adrlien(DECALER(Societe!$C$1;EQUIV($A7;listeBsociété;0);));RECHERCHEV(A7;Societe!$B2:$X1000;2;0)))
, rien du tout.

Et pourtant, aux dernières nouvelles (Ca changera peut être après le second tour des élections :) ) 1=1 est VRAI ainsi que GAUCHE(adrlien(DECALER(Societe!$C$1;EQUIV($A7;listeBsociété;0); ));4)="http", donc les deux formules ci-dessus donnent
Code:
SI(VRAI;LIEN_HYPERTEXTE(adrlien(DECALER(Societe!$C$1;EQUIV($A7;listeBsociété;0);));RECHERCHEV(A7;Societe!$B2:$X1000;2;0)))

@ plus
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Tableau et conditions

Rebonjour

Et pour ce qui est de la carte, comme je ne sais pas faire grand chose en VBA...

Si j'ai le temps, j'essayerai un peu plus tard, mais, pour le moment. Si un des auteurs du fil correspondant pouvaient venir te donner un coup de main...

@ plus
 

Discussions similaires

Réponses
9
Affichages
451

Statistiques des forums

Discussions
312 502
Messages
2 089 033
Membres
104 010
dernier inscrit
Freba