LE NEWSMAGAZINE Nº1 DES NOUVELLES TECHNOLOGIES
108 utilisateurs connectés

fonction excel

mpesche le 04 octobre 2009 à 18h54
Bonjour je cherche une formule d'excel
j'explique
sur la colonnes A je mets des noms (plusieurs cellule sur la meme colonne)
en face du chaque nom sur la colonne B j'inscrit des date
je voudrais que sur la colonne D m'inscrive les noms figurant face aux date si la date en question est celle d'aujourd'hui
(les noms doivent etre à suivre
exemple si 2 cellules doivent etre inscrite ex A4 et A9 elle s'affiche à la suite sur C1 et C2
si vous trouvez une solution je suis preneur
Merci :bien:
fdatch le 05 octobre 2009 à 14h26
Bonsoir,
Voici un exemple :

http://www.cijoint.fr/cjlink.php?file=cj200910/cijTaRBzNP.xls

Dis moi si ça te convient.

Je n'ai pas compris pour les noms en colonne C ?? d'où mes commentaires sur le fichier.

Cordialement.
willyplaisir le 05 octobre 2009 à 14h40
Bonjour à tous,

hypothèses:
colonne A : tes données
colonne B : les dates correspondantes
colonne C : on y met les données du jour en liste C1.C2...
colonne D : Données affichées à la date du jour par ligne


tu lances l'editeur Alt+F11, et tu insères un module

voici une ptite macro sur mesure :D à mettre dans ton fichier
tu fais copier coller toutes ces lignes de commandes:


Sub datejour()

col = 2 'N° de la colonne des dates
lignedepart = 2 'N° de la 1ere ligne des noms à modifier
'-----------------------------------------------------------------------
Dim compteur As Integer

Application.EnableEvents = False
compteur = lignedepart
Cells(lignedepart, col).Select
lignemax = Selection.End(xlDown).Row

Range(Cells(lignedepart, col + 1), Cells(lignemax, col + 1)).ClearContents
Range(Cells(lignedepart, col), Cells(lignemax, col)).Select

For Each cel In Selection
Cells(cel.Row, 4).FormulaR1C1 = "=IF(RC[-2]=TODAY(),RC[-3],"""")"
If IsDate(cel) And cel = Date Then Cells(compteur, 3) = Cells(cel.Row, 1): compteur = compteur + 1
Next

Cells(lignedepart, col + 1).Select


End Sub


:salut:


-->Message édité par willyplaisir le 07/10/2009 10:09:34<--
Gorfael le 06 octobre 2009 à 19h36
Salut willyplaisir et le forum
Peux-tu m'expliquer la ligne
application.enableevents = false
Ne comprenant pas le sujet, je n'y ai pas répondu, mais ta macro me gêne : Le blocage des évènements ne se justifie que s'ils ont un impact sur la macro (ce qui ne me semble pas le cas). De plus, un blocage demande un déblocage (et avec une instruction de la portée application, pour moi, une gestion d'erreurs).
Je sais, c'est une critique! Mais je l'espère constructive.
A+
-------
Plus tu es moins précis, moins les réponses sont plus adaptées!
La qualité et la précision de la réponse sont proportionnelles à celles de la question, et la conditionne.
willyplaisir le 07 octobre 2009 à 10h05
bonjour Gorfael,

Ta remarque est pertinente, et merci de me corriger :bien: , j'avais vite répondu avec un copier coller du début d'une autre macro pour gagner du temps.

Application.EnableEvents = False
compteur = lignedepart
Cells(lignedepart, col).Select
lignemax = Selection.End(xlDown).Row

effectivement le blocage des évènements ne se justifie pas ici.


version corrigée à copier dans le module de ton fichier:

Sub datejour()

col = 2 'N° de la colonne des dates
lignedepart = 2 'N° de la 1ere ligne des noms à modifier selon ta feuille
'-----------------------------------------------------------------------
Dim compteur As Integer

compteur = lignedepart
Cells(lignedepart, col).Select
lignemax = Selection.End(xlDown).Row

Range(Cells(lignedepart, col + 1), Cells(lignemax, col + 1)).ClearContents
Range(Cells(lignedepart, col), Cells(lignemax, col)).Select

For Each cel In Selection
Cells(cel.Row, 4).FormulaR1C1 = "=IF(RC[-2]=TODAY(),RC[-3],"""")"
If IsDate(cel) And cel = Date Then Cells(compteur, 3) = Cells(cel.Row, 1): compteur = compteur + 1
Next

Cells(lignedepart, col + 1).Select

End Sub
-->Message édité par willyplaisir le 07/10/2009 10:10:56<--


À PROPOS DU FORUM MICRO HEBDO

LES FORUMS THÉMATIQUES ET TECHNIQUES

LES FORUMS GÉNÉRAUX

ARCHIVES DU FORUM

publicité
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Nous contacter  |  Charte de confiance  |  Voir notice légale

01net.  -  01men  -  RMC  -  BFM Radio  -  BFM TV  -  TousLesPodcasts  -  01informatique.fr  -  Association RMC-BFM
Tous droits réservés © 1999 - 2009 Internext - 01net.