Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Recherche adresse cellule

7 réponses
Avatar
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!

7 réponses

Avatar
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!
Avatar
michdenis
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" a écrit dans le message de groupe de 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!
Avatar
Daniel.C
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" a écrit dans le message de groupe de
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!
Avatar
michdenis
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" a écrit dans le message de groupe de 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" a écrit dans le message de groupe de
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!
Avatar
Daniel.C
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" a écrit dans le message de groupe de
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" a écrit dans le message de groupe de
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!
Avatar
thibault56
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.
Avatar
michdenis
| 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 !

;-))