XL 2010 Alimenter cellule en fonction d'un nom commun entre onglet et cellule

guigui159

XLDnaute Nouveau
Bonjour à tous,

Vous trouverez en pièce jointe le fichier test que j'ai monté pour vous montrer mon problème.
J'ai un fichier avec trois onglet, un général, Armand et Guillaume.
Toute action est identifiée par un leader qui a son propre onglet de travail.

Je souhaiterai pouvoir ajouter une date manuellement dans l'onglet Armand. Par exemple, sur la référence 1.2.01 (action 4), j'ajoute la typologie, le statut, la date de démarrage et la date d'échéance à la main.

Le problème est que j'aimerai que ces données, que j'ajoute manuellement, viennent automatiquement alimenter l'onglet général sur cette ligne car Armand est identifié comme Leader.

Connaîtriez-vous la marche à suivre ?

Merci d'avance,

Guillaume
 

Pièces jointes

  • Fichier test.xlsx
    25.1 KB · Affichages: 30

guigui159

XLDnaute Nouveau
Re : Alimenter cellule en fonction d'un nom commun entre onglet et cellule

Bonjour,

Merci beaucoup, c'est exactement ce que je recherche à faire.
J'ai essayé d'adapter la formule VBA au classeur sur lequel je travaille et malheureusement, semblerait-il qu'il y ait un bug.
Tout d'abord, j'ai plusieurs feuilles qui ne sont pas sensé intervenir dans la formule. Je crois comprendre que :
--> If ActiveSheet.Name = "Général" Then Exit Sub / Cette ligne permet de ne pas prendre en compte certaines feuilles. Quelle formule insérer pour ajouter d'autres onglets ?

--> ref = Range("A" & Target.Row) / Que signifie cette ligne ?

-->adresse = c.Column / Que signifie cette ligne ?

--> adres = c.Row / Que signifie cette ligne ?

Merci d'avance !

Guillaume
 

CHALET53

XLDnaute Barbatruc
Re : Alimenter cellule en fonction d'un nom commun entre onglet et cellule

Si plusieurs onglets concernés, faire : If ActiveSheet.Name = "Général" Or ActiveSheet.Name = "Feuil1" Then Exit Sub
Possibilité de mettre plusieurs fois : Or ActiveSheet.Name = "Nom Onglet"

ref = Range("A" & Target.Row) / Que signifie cette ligne ?

Target.Row = le numéro de la ligne sur laquelle je fais une modification (dans la feuille Armand, par exemple)
"A" & target.row devient : A5 par exemple et ref prend la valeur de la cellule A5 de la feuille Armand
Ensuite, je cherche dans la feuille Général le numéro de ligne où se trouve la référence (ref) à modifier

c.Column = numéro de colonne de la feuille Général où je trouve Armand (nom de la feuille Armand nommée sht par exemple) mis dans la variable adresse
c.Row= numéro de ligne de Armand dans Général

(ligne, colonne) dans général me permet de trouver la valeur L ou autre pour l'individu concerné et de faire les modifications si nécessaire.

A suivre
 

guigui159

XLDnaute Nouveau
Re : Alimenter cellule en fonction d'un nom commun entre onglet et cellule

Merci pour toutes ces précisions, c'est très sympa.
Mais malgré tout, je n'arrive toujours pas à faire ce que j'aimerai faire. Du coup, j'ai préparé un fichier test un peu plus vrai pour te montrer mon vrai cas pratique.
L'idée est d'avoir une matrice globale des rôles par entité sur l'onglet macro.

l'onglet Détaillée permet d'avoir un niveau de détail supplémentaire avec la colonne action et introduit une colonne qui résume pour chaque ligne qui est le leader et si il y en a pas le cas échéant, identifie la ligne comme "Autonomie" (colonne AU)

Puis nous avons un onglet par entité (3 dans mon fichier test mais il y en aura 12 dans le vrai fichier, entité de 1 à 10 et X et Y). Cet onglet reprend la même structure mais donne indique uniquement le rôle pour l'entité concerné (colonnes I, J, K) et informe l'entité ayant le lead sur l'action en question (M).

C'est dans mes onglet par entité que je remplis manuellement la typologie, le statut, la date de démarrage et l'échéance.
Une fois ces informations remplies pour chaque entité, je souhaiterais que l'onglet détaillé soit automatiquement alimenté de ces informations (typo, statut, datedem,ech) par ligne en allant cherchant la ligne correspondante dans l'onglet de l'entité étant identifié comme en Lead sur cette ligne.

Si jamais c'est également possible, sur les lignes ou il n'y a pas de Lead entre les entité (identifié via la colonne M comme "Autonomie"), différentes dates dans les informations remplies peuvent être saisies. Serait-il possible d'aller chercher la date la plus lointaine sur la ligne parmi toutes les entités et l'injecter dans l'onglet Détaillé ?

Je mets le lien sur Mega car le fichier semble trop lourd pour le forum. Au passage, une astuce pour réduire la taille du fichier ?
https://mega.nz/#!tRUH1JZT!D0fRVfWJAbwEyull2VcoP1YzNrC67pKW6DoDH51ewCA

J'espere que mon explication est assez claire.

Merci d'avance pour ton aide,

Guillaume
 

CHALET53

XLDnaute Barbatruc
Re : Alimenter cellule en fonction d'un nom commun entre onglet et cellule

Bonjour,

Grosseur du fichier : les mises en forme conditionnelles sont très gourmandes (sans les mises en forme, ton fichier doit peser moins de 500 Ko)

Pas très simple :
Peux-tu donner un exemple concret, en saisissant dans une entité (1,2 ou 3) et en montrant dans la feuille Détail le rendu de cette saisie


Une fois ces informations remplies pour chaque entité, je souhaiterais que l'onglet détaillé soit automatiquement alimenté de ces informations (typo, statut, datedem,ech) par ligne en allant cherchant la ligne correspondante dans l'onglet de l'entité étant identifié comme en Lead sur cette ligne.

a+
 
Dernière édition:

guigui159

XLDnaute Nouveau
Re : Alimenter cellule en fonction d'un nom commun entre onglet et cellule

Bonjour,

Voici le fichier test : https://mega.nz/#!pJ9W3L5J!25NpgE0MvuiLYCyF4iqmva2wiQUSsoltIeUddEgtEXk


Par exemple, dans l'onglet Entité 1, la référence 1.2.01.1 est remplie avec des informations. les informations de cette référence doivent alimenter l'onglet détaillée car l'entité 1 est identifié comme L en colonne I. Si c'était la ref 1.1.10.1 qui avait été renseignée, celle ci ne devrait pas remonter car il n'y a pas de L en colonne I.
En onglet Entité 2, c'est la ref 1.3.03.02 qui doit remonter car la l'entité 2 est identifié comme L (leader).
Un deuxième cas de figure : la ref 1.3.02.1. SUr chaque onglet, nous avons un A en colonne I car les entités sont toutes considérées comme Autonome. Dans ce cas de figure, j'aimerai que l'onglet détaillé soit alimenté parmi les différentes dates des onglets, de la date de démarrage la plus petite et de l'échéance la plus lointaine

Merci d'avance.

Guillaume
 

CHALET53

XLDnaute Barbatruc
Re : Alimenter cellule en fonction d'un nom commun entre onglet et cellule

Les entités leaders en colonne M sont renseignées par #NOM? dans ce dernier fichier

Infos dans les cellules :
onglet Entité1, en I11 : Entité1 en J11 : X en K11 : Y
onglet Entité2, en I11 : FF en J11 : DJ en K11 : DCPC
onglet Entité3, en I11 : Entité3 en J11 :X en K11 : Y


=ch_role(A13) dans AS13 de l'onglet Macro
S'il s'agit d'une fonction personnalisée : où est le programme ?

Rappel du poste #6 : tes mises en forme conditionnelles pèsent très lourd en espace disque
 
Dernière édition:

guigui159

XLDnaute Nouveau
Re : Alimenter cellule en fonction d'un nom commun entre onglet et cellule

Hello,

Je viens de corriger le fichier que tu trouveras via le lien suivant : https://mega.nz/#!5V8jXS5A!RV45Hz6b0MuDWkSAF6h29AVV1EGXcGARXQRRPSCD4hQ


Le programme de la fonction personnalisée est le suivant :

Function ch_role(cellule As Range)
ch_role = "Valeur"
Set c = Rows(cellule.Row).Find("L", LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
ch_role = Cells(11, c.Column)
Else
ch_role = "Autonomie"
End If
End Function

Guillaume
 

CHALET53

XLDnaute Barbatruc
Re : Alimenter cellule en fonction d'un nom commun entre onglet et cellule

Lignes 44 à 47 de l'entité 1
1.3.03 1 1.3.03.1 L
1.3.03 1 1.3.03.2 L
1.3.03 1 1.3.03.3 L
1.3.03 1 1.3.03.4 L

Idem pour les Lignes 44 à 47 de l'entité 2
1.3.03 1 1.3.03.1 L
1.3.03 1 1.3.03.2 L
1.3.03 1 1.3.03.3 L
1.3.03 1 1.3.03.4 L

Qui est le leader ? les deux entités peuvent-elles générer des modifications dans "Détaillée" ?

Pour le cas A (autonomie) : et s'il n'y a pas A dans toutes les entités, que fait-on ?

Je ne suis pas sûr de bien comprendre ce qu'il faut faire

a+
 

guigui159

XLDnaute Nouveau
Re : Alimenter cellule en fonction d'un nom commun entre onglet et cellule

C'est étrange, il s'agit d'un problème de mise à jour des formules. En effet, c'est l'onglet Macro qui défini les rôles de chaque entité par référence en colonne A. Or, l'entité 1 est identifié en C pour Contributeur. La formule recherchev sur les onglets entité 1, entité 2 etc n'a pas mis à jour cette modification. Elle le fait qu'en retapant manuellement la formule.

L'entité leader est donc l'entité 2 sur ces lignes. Seule l'entité identifié comme L peut générer des modifications dans l'onglet Détaillée

Dans le cas d'A ou autre rôle, plusieurs cas de figure:
- Si des A mais un L présent sur la ligne, alors on privilégie les données saisies par le L
- Si aucun L sur la ligne, alors on choisi la date de démarrage considérée comme la plus tôt et on choisi l'échéance la plus tardive parmi les différentes possibilités.

Est-ce un petit peu plus clair ?

En tout cas, merci du temps que tu y consacres !

Guillaume
 

CHALET53

XLDnaute Barbatruc
Re : Alimenter cellule en fonction d'un nom commun entre onglet et cellule

Dans le cas d'A ou autre rôle, plusieurs cas de figure:
- Si des A mais un L présent sur la ligne, alors on privilégie les données saisies par le L
- Si aucun L sur la ligne, alors on choisi la date de démarrage considérée comme la plus tôt et on choisi l'échéance la plus tardive parmi les différentes possibilités.

Quand tu dis L présent sur la ligne : faut-il préciser : dans la colonne I d'une entité quelconque (y compris X et Y)
 

guigui159

XLDnaute Nouveau
Re : Alimenter cellule en fonction d'un nom commun entre onglet et cellule

Oui c'est exacement ca, on ne regardera que la colonne I pour connaitre le L. Les colonnes J et K qui renseignent les rôles des entités X et Y ne sont qu'informatives et ces entités auront leur propres onglets avec une colonne I propre indiquant leur rôle de L quand elles le sont.

Guillaume
 

CHALET53

XLDnaute Barbatruc
Re : Alimenter cellule en fonction d'un nom commun entre onglet et cellule

RE,

ton fichier étant trop gros, tu recopies les éléments du fichier joint comme précisé
et fais des essais de modification

Je ne recopie que les éléments suivants dans la feuille Détaillée

Typologie
Statut
Démarrage
Echéance

a+
 

Pièces jointes

  • guigui.xlsx
    14.6 KB · Affichages: 28
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 843
Messages
2 092 748
Membres
105 520
dernier inscrit
Inconnuto