Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Salut à tous, je suis nouveau dans excel et je souhaiterais pouvoir effectuer une recherche avec affichage des résultats. En d'autre termes:
feuille1, A1, je rentre "nono"
Recherche ligne nono dans feuille2 et affichage ligne complète (A1,A5) en feuille 1 C10.
Ca doit pas être bien compliqué, mais je débute! Merci🙂😕
Merci Wilfried, je cherche, je cherche, mais je vais recommencer...
Autre question, sais-tu comment transformer une date en texte, pour qu'elle ne se remette pas à jour à chaque ouverture de fichier? Figée quoi! car là aussi, je cherche et cherche et je ne trouve pas vraiment de réponse! Ca doit pourtant pas être compliqué non plus! Merci
suite...
se complique! moi, c'est la colone 1 que e dois renseigner sur la date et non la 3 et j'vois pas où changer! c'est de l'hébreux pour moi! Quelqu'un pourrat traduire?
Private Sub [COLOR="Red"]Worksheet_Change[/COLOR](ByVal [COLOR="Blue"]Target[/COLOR] As Range)
[COLOR="Green"]If Target.Column = 1 And Target.Row > 1 Then[/COLOR]
[B]if Target = "" Then Target.Offset(0, 2) = "" Else Target.Offset(0, 2) = Date[/B]
End If
End Sub
je te detaille la procedure.
En rouge, c'est une procedure evenementielle -->
- Worksheets indique que c'est sur cette feuille
- Change indique que cette procedure se declanche à chaque modification de cellule
Dans le sous-
En bleu : C'est la cellule qui a été modifiée et qui a déclanché la procedure
En vert : je controle en fonction de la cellule, si c'est ok
- target.column ---> est la bonne colonne --> là la 1, si tu veux que ce soit la colonne C qui declanche la procedure, il faut mettre 3
- target.row ---> c'est la ligne, là je ne traite que si la ligne est > 1 car ma ligne 1 est ma ligne de titre
Une fois que j'ai controlé si je suis dans la donne colonne,
En gras j'ai le traitement
C'est un double traitement : Si je mets quelque chose, je mets la date
. Si j'efface, la date s'efface
ca ressemble à la formule : =Si(A2="";"";AUJOURDUI())
Target etant ma cellule donc (J'ai associé les couleurs de la formule avec VBA IFtarget = ""then target.offset(0,2) = ""else target.offset(0,2) = date
Enfin target.offset(0,2)
Nous savons que target se trouve en colonne 1 et la mise à jour se fait en colonne 3
donc je vais utiliser target, tout en decalant (DECALER en formule)
Offset(Ligne, colonne) --> je decale d'un nombre de ligne, nb colonne
la c'est sur la meme ligne donc decalage 0
par conbtre comme je mets à jour la colonne 3 et que target se trouve en colonne 1, 3 - 1 --> je decale de 2
si j'avais saisi en colonne 3 et que ma date se mette en colonne 1, j'aurai mis -2
En esperant avoir été assez clair dans mes explications
ok wilfried, merci pour cette leçon, je commence à comprendre! c'est hard, mais j'ai suivi. Je crois que je vais prendre un bouquin VBA pour apprendre ce langage. En tous cas, sympa d'avoir détaillé!
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.