Rechercher : dans
Par :

VBA Excel : Trouver l'adresse d'une valeur

Dernière réponse le 8 avr 2009 à 13:07:40 Bushinone, le 25 jui 2008 à 16:12:47 
 Signaler ce message aux modérateurs

Bonjour tout le monde !
J'aimerai savoir comment récupérer l'adresse d'une cellule contenant une valeur donnée.

Par exemple :
je cherche la valeur "Value" sur une feuille
et je set nb_lin comme le numero de ligne ou se trouve la valeur et nb_col le numéro de colonne de cette même cellule, et ce pour pouvoir réutiliser nb_lin et nb_col plus tard dans la macro ?

Comment puis-je faire ?
Merci

Configuration: Windows XP
Firefox 3.0.1

1

gbinforme, le 25 jui 2008 à 17:58:37

Bonjour

Si tu fais set cel = Find(What:="Value"), avec cel.row tu as la ligne, avec cel.column tu as la colonne et tu peux les utiliser tant que tu n'as pas changé la valeur.

D'autre part tu peux sélectionner la cellule avec cel.select

Bien sûr "cel" peut être remplacé par le nom de ton choix.

En espérant avoir répondu à ton interrogation.
Toujours zen

Répondre à gbinforme

2

Berty59, le 6 avr 2009 à 08:54:44

Salut, je rencontre en ce moment le même problème, je recherche la valeur "300" dans mon tableur excel afin de supprimer la ligne où se trouve cette valeur. Seulement voilà, je rencontre 2 problèmes, le premier est que je n'arrive pas a extraire l'adresse de la cellule afin de supprimer la ligne, il m'affiche l'adresse comme cela : $A$26 alors que pour supprimer la ligne il faut utiliser cette commande :

Rows("16:16").select
Selection.delete Shift:=xlUp

Le deuxième problème est que je recherche uniquement les cellules ou la valeur 300 est stockée, pas les cellules ou il y a 30000 ou 130056, or il y a "300" inclus dans ces chiffres, donc ces lignes sont supprimés, je recherche donc le code (en VB bien sûr) me permettant de recherche dans ma feuille Excel les lignes ou "300" apparait et les supprimer. Merci d'avance pour la réponse.

Répondre à Berty59

3

gbinforme, le 6 avr 2009 à 09:21:10
  • +1

Bonjour

Pour supprimer toutes tes lignes avec une cellule égale à 300 entièrement tu peux utiliser ceci :

Dim cel As Range
Do
    Set cel = Cells.Find(What:="300", LookAt:=xlWhole)
    If Not cel Is Nothing Then cel.EntireRow.Delete
Loop While Not cel Is Nothing
End Sub

xlWhole pour valeur entière de la cellule et xlPart pour valeur partielle
Toujours zen

Répondre à gbinforme

4

 Berty59, le 8 avr 2009 à 13:07:40
  • +1

Merci beaucoup gbinforme ca marche comme sur des roulettes!! Mon programme a bien avancé maintenant.

Répondre à Berty59