Recherche adresse cellule

Le
thibault56
Bonjour,
Voilà mon problème.
Je cherche à récupéré l'adresse d'une cellule (en fait sa colonne me suffirait mais si j'ai les deux c'est super). Cette cellule est recherché à partir de son contenu (dans mon cas une variable allant de J+6 à J+40). Sachant que cette cellule est forcément dans la plage D1:Z1.
J'ai essayé avec find, mais je ne comprend pas comment l'utiliser (erreur lors de la macro) et avec rechercheh mais ça ne donne pas ce que je désire.

Voilà un bout du code que j'ai et qui ne marche pas:
Set plagerecherche = Range("D1:Z1")
Set celint = plagerecherche.Find("J+6", Range("C1"), xlValues, xlWhole, xlByRows, xlNext)

Je cherche donc celint.column

Merci d'avance pour votre aide!
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #21686381
Bonjour.
Dim plagerecherche as String
plagerecherche = Range("D1:Z1")
Set celint = plagerecherche.Find("J+6", Range("C1"),
xlValues,
xlWhole, xlByRows, xlNext).address
Cordialement.
Daniel

Bonjour,
Voilà mon problème.
Je cherche à récupéré l'adresse d'une cellule (en fait sa colonne me
suffirait mais si j'ai les deux c'est super). Cette cellule est recherché à
partir de son contenu (dans mon cas une variable allant de J+6 à J+40).
Sachant que cette cellule est forcément dans la plage D1:Z1.
J'ai essayé avec find, mais je ne comprend pas comment l'utiliser (erreur
lors de la macro) et avec rechercheh mais ça ne donne pas ce que je désire.

Voilà un bout du code que j'ai et qui ne marche pas:
Set plagerecherche = Range("D1:Z1")
Set celint = plagerecherche.Find("J+6", Range("C1"), xlValues,
xlWhole, xlByRows, xlNext)

Je cherche donc celint.column

Merci d'avance pour votre aide!
michdenis
Le #21686561
Bonjour Daniel,

Es-tu certain que tu veuilles affecter le type "String"
à la variable plagerecherche ?

Ne serait-ce pas plutôt quelque chose comme :

Sub test()
Dim celint As Range
With Range("D1:Z1")
Set celint = .Find("J+6", Range("C1"), _
xlValues, xlWhole, xlByRows, xlNext)
End With
if not celint is nothing then
Msgbox celint.address
else
Msgbox "Pas trouvé"
End if
End Sub




"Daniel.C"
Bonjour.
Dim plagerecherche as String
plagerecherche = Range("D1:Z1")
Set celint = plagerecherche.Find("J+6", Range("C1"),
xlValues,
xlWhole, xlByRows, xlNext).address
Cordialement.
Daniel

Bonjour,
Voilà mon problème.
Je cherche à récupéré l'adresse d'une cellule (en fait sa colonne me
suffirait mais si j'ai les deux c'est super). Cette cellule est recherché à
partir de son contenu (dans mon cas une variable allant de J+6 à J+40).
Sachant que cette cellule est forcément dans la plage D1:Z1.
J'ai essayé avec find, mais je ne comprend pas comment l'utiliser (erreur
lors de la macro) et avec rechercheh mais ça ne donne pas ce que je désire.

Voilà un bout du code que j'ai et qui ne marche pas:
Set plagerecherche = Range("D1:Z1")
Set celint = plagerecherche.Find("J+6", Range("C1"), xlValues,
xlWhole, xlByRows, xlNext)

Je cherche donc celint.column

Merci d'avance pour votre aide!
Daniel.C
Le #21686541
Oui, string, puisque je récupère une adresse, mais c'est sûr que ta
macro gère les erreurs, à la différence de ma syntaxe.
Daniel

Bonjour Daniel,

Es-tu certain que tu veuilles affecter le type "String"
à la variable plagerecherche ?

Ne serait-ce pas plutôt quelque chose comme :

Sub test()
Dim celint As Range
With Range("D1:Z1")
Set celint = .Find("J+6", Range("C1"), _
xlValues, xlWhole, xlByRows, xlNext)
End With
if not celint is nothing then
Msgbox celint.address
else
Msgbox "Pas trouvé"
End if
End Sub




"Daniel.C" discussion :
Bonjour.
Dim plagerecherche as String
plagerecherche = Range("D1:Z1")
Set celint = plagerecherche.Find("J+6", Range("C1"),
xlValues,
xlWhole, xlByRows, xlNext).address
Cordialement.
Daniel

Bonjour,
Voilà mon problème.
Je cherche à récupéré l'adresse d'une cellule (en fait sa colonne me
suffirait mais si j'ai les deux c'est super). Cette cellule est recherché à
partir de son contenu (dans mon cas une variable allant de J+6 à J+40).
Sachant que cette cellule est forcément dans la plage D1:Z1.
J'ai essayé avec find, mais je ne comprend pas comment l'utiliser (erreur
lors de la macro) et avec rechercheh mais ça ne donne pas ce que je désire.

Voilà un bout du code que j'ai et qui ne marche pas:
Set plagerecherche = Range("D1:Z1")
Set celint = plagerecherche.Find("J+6", Range("C1"), xlValues,
xlWhole, xlByRows, xlNext)

Je cherche donc celint.column

Merci d'avance pour votre aide!
michdenis
Le #21686681
Selon moi,

si la variable plagerecherche est de type String

Cette ligne de code ne s'exécute pas :
plagerecherche = Range("D1:Z1") 'MisMatch du type de variables

Cette ligne de code :
plagerecherche.Find
La méthode Find est possible seulement sur un Range par
sur une variable String

Ce serait plutôt l'inverse au niveau des variables :

Dim celint As Range
Dim plagerecherche as String
set celint = Range("D1:Z1")
On Error resume next
plagerecherche = celint .Find("J+6", Range("C1"), _
xlValues, xlWhole, xlByRows, xlNext).address





"Daniel.C" #5$
Oui, string, puisque je récupère une adresse, mais c'est sûr que ta
macro gère les erreurs, à la différence de ma syntaxe.
Daniel

Bonjour Daniel,

Es-tu certain que tu veuilles affecter le type "String"
à la variable plagerecherche ?

Ne serait-ce pas plutôt quelque chose comme :

Sub test()
Dim celint As Range
With Range("D1:Z1")
Set celint = .Find("J+6", Range("C1"), _
xlValues, xlWhole, xlByRows, xlNext)
End With
if not celint is nothing then
Msgbox celint.address
else
Msgbox "Pas trouvé"
End if
End Sub




"Daniel.C" discussion :
Bonjour.
Dim plagerecherche as String
plagerecherche = Range("D1:Z1")
Set celint = plagerecherche.Find("J+6", Range("C1"),
xlValues,
xlWhole, xlByRows, xlNext).address
Cordialement.
Daniel

Bonjour,
Voilà mon problème.
Je cherche à récupéré l'adresse d'une cellule (en fait sa colonne me
suffirait mais si j'ai les deux c'est super). Cette cellule est recherché à
partir de son contenu (dans mon cas une variable allant de J+6 à J+40).
Sachant que cette cellule est forcément dans la plage D1:Z1.
J'ai essayé avec find, mais je ne comprend pas comment l'utiliser (erreur
lors de la macro) et avec rechercheh mais ça ne donne pas ce que je désire.

Voilà un bout du code que j'ai et qui ne marche pas:
Set plagerecherche = Range("D1:Z1")
Set celint = plagerecherche.Find("J+6", Range("C1"), xlValues,
xlWhole, xlByRows, xlNext)

Je cherche donc celint.column

Merci d'avance pour votre aide!
Daniel.C
Le #21686671
Dur, cette après-midi :
Dim celint as String
set plagerecherche = Range("D1:Z1")
celint = plagerecherche.Find("J+6", Range("C1"), xlValues,
xlWhole, xlByRows, xlNext).address
Daniel

Selon moi,

si la variable plagerecherche est de type String

Cette ligne de code ne s'exécute pas :
plagerecherche = Range("D1:Z1") 'MisMatch du type de variables

Cette ligne de code :
plagerecherche.Find
La méthode Find est possible seulement sur un Range par
sur une variable String

Ce serait plutôt l'inverse au niveau des variables :

Dim celint As Range
Dim plagerecherche as String
set celint = Range("D1:Z1")
On Error resume next
plagerecherche = celint .Find("J+6", Range("C1"), _
xlValues, xlWhole, xlByRows, xlNext).address





"Daniel.C" discussion : #5$
Oui, string, puisque je récupère une adresse, mais c'est sûr que ta
macro gère les erreurs, à la différence de ma syntaxe.
Daniel

Bonjour Daniel,

Es-tu certain que tu veuilles affecter le type "String"
à la variable plagerecherche ?

Ne serait-ce pas plutôt quelque chose comme :

Sub test()
Dim celint As Range
With Range("D1:Z1")
Set celint = .Find("J+6", Range("C1"), _
xlValues, xlWhole, xlByRows, xlNext)
End With
if not celint is nothing then
Msgbox celint.address
else
Msgbox "Pas trouvé"
End if
End Sub




"Daniel.C" discussion :
Bonjour.
Dim plagerecherche as String
plagerecherche = Range("D1:Z1")
Set celint = plagerecherche.Find("J+6", Range("C1"),
xlValues,
xlWhole, xlByRows, xlNext).address
Cordialement.
Daniel

Bonjour,
Voilà mon problème.
Je cherche à récupéré l'adresse d'une cellule (en fait sa colonne me
suffirait mais si j'ai les deux c'est super). Cette cellule est recherché à
partir de son contenu (dans mon cas une variable allant de J+6 à J+40).
Sachant que cette cellule est forcément dans la plage D1:Z1.
J'ai essayé avec find, mais je ne comprend pas comment l'utiliser (erreur
lors de la macro) et avec rechercheh mais ça ne donne pas ce que je désire.

Voilà un bout du code que j'ai et qui ne marche pas:
Set plagerecherche = Range("D1:Z1")
Set celint = plagerecherche.Find("J+6", Range("C1"), xlValues,
xlWhole, xlByRows, xlNext)

Je cherche donc celint.column

Merci d'avance pour votre aide!
thibault56
Le #21686601
thibault56 a écrit le 05/05/2010 à 15h08 :
Bonjour,
Voilà mon problème.
Je cherche à récupéré l'adresse d'une cellule (en
fait sa colonne me suffirait mais si j'ai les deux c'est super). Cette cellule
est recherché à partir de son contenu (dans mon cas une variable
allant de J+6 à J+40). Sachant que cette cellule est forcément
dans la plage D1:Z1.
J'ai essayé avec find, mais je ne comprend pas comment l'utiliser
(erreur lors de la macro) et avec rechercheh mais ça ne donne pas ce que
je désire.

Voilà un bout du code que j'ai et qui ne marche pas:
Set plagerecherche = Range("D1:Z1")
Set celint = plagerecherche.Find("J+6",
Range("C1"), xlValues, xlWhole, xlByRows, xlNext)

Je cherche donc celint.column

Merci d'avance pour votre aide!


Bon je me répond à moi même...
Il faut utiliser la fonction equiv (dans la feuille excel) ce qui donne quelque chose du genre Range("Z10").FormulaR1C1 = "=Match(.....)" dans vba.
Match correspond à equiv en anglais.
michdenis
Le #21686971
| Dur, cette après-midi :

J'y ai droit aussi... et tu es chanceux ce n'est que l'après-midi
au lieu d'une journée entière !

;-))
Publicité
Poster une réponse
Anonyme