Recherche à dans une colonne et ecriture à la ligne
Résolu/Fermé
Hervé
-
14 mars 2016 à 11:50
AKH.COVI
AKH.COVI
- Messages postés
- 37
- Date d'inscription
- lundi 14 mars 2016
- Statut
- Membre
- Dernière intervention
- 22 février 2018
A voir également:
- Recherche à dans une colonne et ecriture à la ligne
- Recherche à dans une colonne et ecriture à la ligne ✓ - Forum - VB / VBA
- Excel recherche doublon entre 2 colonnes ✓ - Forum - Excel
- Excel : recherche sous-texte dans colonne ✓ - Forum - Excel
- Recherche code d'une colonne à l'autre ✓ - Forum - Excel
- Rechercher Valeur dans une colonne selon deux critères ✓ - Forum - Excel
2 réponses
jordane45
14 mars 2016 à 11:52
- Messages postés
- 35709
- Date d'inscription
- mercredi 22 octobre 2003
- Statut
- Modérateur
- Dernière intervention
- 24 juin 2022
14 mars 2016 à 11:52
Bonjour,
Il existe la méthode FIND en VBA
https://forums.commentcamarche.net/forum/affich-37621992-methode-find-dans-vba-recherche-de-donnees-sous-excel
Il existe la méthode FIND en VBA
https://forums.commentcamarche.net/forum/affich-37621992-methode-find-dans-vba-recherche-de-donnees-sous-excel
AKH.COVI
14 mars 2016 à 15:03
- Messages postés
- 37
- Date d'inscription
- lundi 14 mars 2016
- Statut
- Membre
- Dernière intervention
- 22 février 2018
14 mars 2016 à 15:03
Private Sub CommandButton3_Click() 'déclaration des variables : Dim Trouve As Range, PlageDeRecherche As Range Dim Valeur_Cherchee As String, AdresseTrouvee As String '********* à adapter *********** 'affectation de valeurs aux variables : 'on cherche le mot "Entré au clavier et recuperer dans RefFactC" Valeur_Cherchee = RefFactC 'dans la première colonne de la feuille active Set PlageDeRecherche = ActiveSheet.Columns(2) '******************************* 'méthode find, ici on cherche la valeur exacte (LookAt:=xlWhole) Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookAt:=xlWhole) 'traitement de l'erreur possible : Si on ne trouve rien : If Trouve Is Nothing Then 'ici, traitement pour le cas où la valeur n'est pas trouvée AdresseTrouvee = Valeur_Cherchee & " n'est pas présent dans " & PlageDeRecherche.Address Else 'ici, traitement pour le cas où la valeur est trouvée AdresseTrouvee = Trouve.Address Range("K" & Trouve.Address).Value = DateFactC End If MsgBox AdresseTrouvee 'vidage des variables Set PlageDeRecherche = Nothing Set Trouve = Nothing End Sub
jordane45
Modifié par jordane45 le 14/03/2016 à 15:07
- Messages postés
- 35709
- Date d'inscription
- mercredi 22 octobre 2003
- Statut
- Modérateur
- Dernière intervention
- 24 juin 2022
Modifié par jordane45 le 14/03/2016 à 15:07
Oui et ?
De plus... as tu regardé ce que retourne la propriété Address ?
https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.address?redirectedfrom=MSDN
Toi c'est uniquement la LIGNE que tu veux .. donc ROW
https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.row?redirectedfrom=MSDN
De plus... as tu regardé ce que retourne la propriété Address ?
Range("K" & Trouve.Address).Value = DateFactC
https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.address?redirectedfrom=MSDN
Toi c'est uniquement la LIGNE que tu veux .. donc ROW
https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.row?redirectedfrom=MSDN
AKH.COVI
14 mars 2016 à 15:28
- Messages postés
- 37
- Date d'inscription
- lundi 14 mars 2016
- Statut
- Membre
- Dernière intervention
- 22 février 2018
- Messages postés
- 35709
- Date d'inscription
- mercredi 22 octobre 2003
- Statut
- Modérateur
- Dernière intervention
- 24 juin 2022
14 mars 2016 à 15:28
Oui ça me retourne l'adresse de la cellule.
Maintenant comment je procède pour enregistrer dans la cellule concernée?
Maintenant comment je procède pour enregistrer dans la cellule concernée?
jordane45
14 mars 2016 à 16:01
- Messages postés
- 35709
- Date d'inscription
- mercredi 22 octobre 2003
- Statut
- Modérateur
- Dernière intervention
- 24 juin 2022
- Messages postés
- 37
- Date d'inscription
- lundi 14 mars 2016
- Statut
- Membre
- Dernière intervention
- 22 février 2018
14 mars 2016 à 16:01
Tu as lu entièrement ma réponse précédente ? et les liens que je t'ai donné ?
AKH.COVI
14 mars 2016 à 16:17
- Messages postés
- 37
- Date d'inscription
- lundi 14 mars 2016
- Statut
- Membre
- Dernière intervention
- 22 février 2018
14 mars 2016 à 16:17
OUI
jordane45
14 mars 2016 à 16:23
- Messages postés
- 35709
- Date d'inscription
- mercredi 22 octobre 2003
- Statut
- Modérateur
- Dernière intervention
- 24 juin 2022
- Messages postés
- 37
- Date d'inscription
- lundi 14 mars 2016
- Statut
- Membre
- Dernière intervention
- 22 février 2018
14 mars 2016 à 16:23
Donc tu as la réponse ??? Oo
non ?
non ?
Range("K" & Trouve.Row).Value = DateFactC
14 mars 2016 à 12:21
j'ai bien eu ce code mais la grande inquiétude est que sur mon formulaire, je récupère le mot que je veux chercher et une fois que je l'ai, je procède à sa recherche dans le tableau ensuite s'il es trouvé, je sélectionne la ligne que je rempli d'autres données
Ex j'ai une BD
CLASSE INTERVENANT
CP1
CP2
CE1
CE2
maintenant le formulaire me demande de saisir la classe et l'intervenant
si la classe existe automatiquement l'intervenant renseigné doit être positionné dans la colonne concernée sur la ligne de la classe cherchée.
14 mars 2016 à 12:23
Je répète .... UTILISE LA METHODE FIND.
Si tu rencontres des difficultés pour l'utiliser, ... reviens nous voir avec le code essayé qu'on puisse voir où se trouve ton erreur.
NB: **** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
.