Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2871 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [EXCEL]identifier et ramener titre colonne from contenu cellule

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[EXCEL]identifier et ramener titre colonne from contenu cellule

n°1561115
coolkiwi
Posté le 16-05-2007 à 13:25:32  profilanswer
 

Bonjour bonjour! :)
 
Une petit question (sûrement très bête):  :pt1cable:  
 
j'ai un fichier excel avec pour chaque ligne (qui correspondent à des dossiers que je traite) des dates inscrites dans différentes colonnes, genre "date réception", "date de réponse", "date de validation", "date de refus".
 
J'ai tout un paquet de colonnes, et pour rendre le classeur plus ergonomique, je voudrais créer deux colonnes au début du classeur récapitulant pour la première la "date de l'événement le plus récent" (je m'en suis tiré avec un max(toutes mes dates) )et pour la seconde "libellé de l'événement le plus récent".
 
Or pour cette colonne là, je n'arrive pas en fonction de ma date la plus récente à ramener le nom de la colonne dans laquelle est la date.
 
Le truc c'est que:
- d'une part sous excel je n'arrive pas à trouver de fonction qui me ramène le titre de la colonne si je n'ai que le contenu de la cellule et pas son identification  :??:  
 
- d'autre part sous VB je sais le faire, mais je ne voudrais pas avoir à exécuter une macro à chaque fois que je veux mettre à jour le fichier. Je voudrais que cela se fasse automatiquement.... vu que ce n'est pas moi qui vais utiliser le fichier à l'avenir.
 
 
quelqu'un aurait une idée de comment faire? :??:  :??:  
 
Coolkiwi

mood
Publicité
Posté le 16-05-2007 à 13:25:32  profilanswer
 

n°1561252
pyrof
Posté le 16-05-2007 à 15:39:15  profilanswer
 

Bonjour,
 
Tu es tout proche de la solution,
 
transforme ta macro en function et appelle la dans ta cellule
exemple
Sub toto()
 
End Sub
 
en :
 
Function toto()
 
toto = resultat
End Function

n°1561298
coolkiwi
Posté le 16-05-2007 à 16:34:18  profilanswer
 

j'essaie de ce pas merci beaucoup!! ;)

n°1561337
coolkiwi
Posté le 16-05-2007 à 17:24:38  profilanswer
 

ok alors effectivement dans le principe ça marche  :)  
mais mon pb c'est que ça ne se met pas à jours tout seul...  :??:  
dans ma fonction j'ai:
 

Citation :

Function update(i)
 
For k = 6 To 63
If Cells(i, 5) = Cells(i, k) Then
update = Cells(5, k)
End If
 
Next
End Function


 
et dans mes cellules excel j'ai écrit:
pour la cellule sur la 8eme ligne  =update(8)
 
et il faut que je retape entrée pour que la cellule d'update, y a-t-il un moyen de faire autrement? :??:  
 
Kiwi

n°1561543
coolkiwi
Posté le 17-05-2007 à 11:05:19  profilanswer
 

Ok aors je pense avoir résolu la question en faisant un bouton auquel j'associe une marco qui me déroule ma fonction.
 
Ce n'est sûrement pas le plus élégant mais ça a l'air de marcher ;)
 
merci pour l'aide :)

n°1561544
jpcheck
Pioupiou
Posté le 17-05-2007 à 11:12:25  profilanswer
 

tu peux regarder du coté de l'évènement worksheet_change en ciblant une partie des tes cellules seulement.

n°1561559
coolkiwi
Posté le 17-05-2007 à 12:07:45  profilanswer
 

excusez moi mais j'ai encore une question mais cette fois c'est plus de la compréhension de "l'esprit du code" plutôt que du code lui même ;)
 
en gros dans la macro que j'ai associée à mon bouton j'ai ça:
 

Citation :

Sub mise_en_route_update()
 
Dim l, s, t As Integer
s = 5
 
Do Until (Cells(s, 2) = "" And Cells(s + 1, 2) = "" )
s = s + 1
Loop
t = s - 1
 For l = 8 To t
 
Cells(l, 5).Select
        ActiveCell.FormulaR1C1 = _
        "=MAX(RC[9]:RC[12],RC[15],RC[18],RC[19]:RC[23],RC[25]:RC[28],RC[31]:RC[32],RC[34]:RC[35],RC[37]:RC[38],RC[40]:RC[41],RC[43]:RC[44],RC[46]:RC[47],RC[49]:RC[50],RC[52],RC[57]:RC[58])"
Cells(l, 4).Select
ActiveCell = update(l)
     
    Next
 
End Sub


 
j'aimerais donc savoir si la partie en rouge, formulée telle quel, est une bonne chose ou pas.  
Est-ce quelquechose de fiable qui identifie bien chaque cellule à comparer ou bien c'est qqc qui se fait par positionnement relatif par rapport à la cellule que j'ai sélectionnée juste avant de demander à faire le max. (à savoir la cellule(l, 5) ) :??:  
 
Bon je reconnais que je prends peut etre un peu la tête mais c'est histoire d'avoir le code le plus solide possible ou au moins être conscient de ses lacunes ;)


Message édité par coolkiwi le 17-05-2007 à 12:08:58
n°1562754
pyrof
Posté le 21-05-2007 à 07:47:47  profilanswer
 

Bonjour,
 
 
Avec retard dans la fonction mets la commande
sub xxxx()
application.volatile
 
et là ça fonctionnera automatiquement
 

n°1563630
coolkiwi
Posté le 22-05-2007 à 17:16:23  profilanswer
 

bonjour bonjour :)
 
Bon j'ai finalement tout mis sur un bouton, je pense que ça marchera mieux comme ça ;) Moins de choses qui se font toutes seules, l'utilisateur sera moins perdu.
 
Merci pour l'aide et je pense qu'on peut considérer ce sujet comme résolu.... jen 'ai plus qu'à éditer le titre si j'y arrive ;)
 
@ plus
 
Kiwi


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [EXCEL]identifier et ramener titre colonne from contenu cellule

 

Sujets relatifs
(EXCEL) Somme en fonction du format ou de la policeVSTO et Excel
MovieClipLoader : chargement swf et recup contenuUserforms sur excel
Aide sur VBA Excelexporter des données excel dans une base SQL existante
Importer fichiers multiples excel => accessCréer e modifier un fichier excel en C#
[résolu] Génération de graphique Excel, problème de locationRemplir une cellule de tableau avec un div
Plus de sujets relatifs à : [EXCEL]identifier et ramener titre colonne from contenu cellule


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR