OVH Cloud OVH Cloud

copier une cellule a gauche de la recherche.

8 réponses
Avatar
Daniel
Bonjour à Tous

J'ai une liste de 1857 ligne et avec
=INDEX(C2:C1857,EQUIV(A1,D2:D1857,0))
j'obtien le nom qu'il y a en C par rapport a A1

Je voudrait faire le contraire.
Avec un vba , je voudrait copier A4 , dans la colonne C vis a vis
la cellule équivalente au chiffre qu'il y a en A1.

Merci

8 réponses

Avatar
michdenis
Bonjour Daniel,

Essaie ceci :
'----------------------------
Sub test()
Dim Sh As Worksheet

Set Sh = Worksheets("Feuil1")
With Sh
With .Range("D2:D1857")
Set r = .Find(Sh.Range("A1"), , xlValues, xlWhole)
End With
If Not r Is Nothing Then
.Range("C" & r) = .Range("a4")
End If
End With
Set Sh = Nothing
End sub
'----------------------------


Salutations!


"Daniel" a écrit dans le message de news:
Bonjour à Tous

J'ai une liste de 1857 ligne et avec
=INDEX(C2:C1857,EQUIV(A1,D2:D1857,0))
j'obtien le nom qu'il y a en C par rapport a A1

Je voudrait faire le contraire.
Avec un vba , je voudrait copier A4 , dans la colonne C vis a vis
la cellule équivalente au chiffre qu'il y a en A1.

Merci
Avatar
Daniel
Bonjour michdenis
j'ai attacher une partie de mon fichier et
après l'exécution de la macros je devrais avoir en C28 le mot "Aiguille".
http://cjoint.com/?bhiwkqphJM

Merci
En passant je te souhaite une bonne Année


"michdenis" a écrit dans le message de news:
%
Bonjour Daniel,

Essaie ceci :
'----------------------------
Sub test()
Dim Sh As Worksheet

Set Sh = Worksheets("Feuil1")
With Sh
With .Range("D2:D1857")
Set r = .Find(Sh.Range("A1"), , xlValues, xlWhole)
End With
If Not r Is Nothing Then
.Range("C" & r) = .Range("a4")
End If
End With
Set Sh = Nothing
End sub
'----------------------------


Salutations!


"Daniel" a écrit dans le message de news:

Bonjour à Tous

J'ai une liste de 1857 ligne et avec
=INDEX(C2:C1857,EQUIV(A1,D2:D1857,0))
j'obtien le nom qu'il y a en C par rapport a A1

Je voudrait faire le contraire.
Avec un vba , je voudrait copier A4 , dans la colonne C vis a vis
la cellule équivalente au chiffre qu'il y a en A1.

Merci






Avatar
michdenis
Bonjour Daniel,

Ton fichier est là : http://cjoint.com/?bho6DzKydP


Salutations!


"Daniel" a écrit dans le message de news:
Bonjour michdenis
j'ai attacher une partie de mon fichier et
après l'exécution de la macros je devrais avoir en C28 le mot "Aiguille".
http://cjoint.com/?bhiwkqphJM

Merci
En passant je te souhaite une bonne Année


"michdenis" a écrit dans le message de news:
%
Bonjour Daniel,

Essaie ceci :
'----------------------------
Sub test()
Dim Sh As Worksheet

Set Sh = Worksheets("Feuil1")
With Sh
With .Range("D2:D1857")
Set r = .Find(Sh.Range("A1"), , xlValues, xlWhole)
End With
If Not r Is Nothing Then
.Range("C" & r) = .Range("a4")
End If
End With
Set Sh = Nothing
End sub
'----------------------------


Salutations!


"Daniel" a écrit dans le message de news:

Bonjour à Tous

J'ai une liste de 1857 ligne et avec
=INDEX(C2:C1857,EQUIV(A1,D2:D1857,0))
j'obtien le nom qu'il y a en C par rapport a A1

Je voudrait faire le contraire.
Avec un vba , je voudrait copier A4 , dans la colonne C vis a vis
la cellule équivalente au chiffre qu'il y a en A1.

Merci






Avatar
Daniel
Bonjour michdenis

Cela fontionne mais est t'il possible d'utiliser la colonne D a la place de
E pour la recherche.
car souvent le chiffre en B1 n'est pas dans la liste, ces pour cette
raison qu'il y a les colonne H I J ,
pour trouver le plus près.

J'ai tanter de changer E pour D et B1 pour A1 mais cela ne fonctionne pas
???
Dans mon programme j'ai une macro qui va chercher la LONG/LAT dans mon GPS
et le chiffre est coller en B1 .
Merci

"michdenis" a écrit dans le message de news:

Bonjour Daniel,

Ton fichier est là : http://cjoint.com/?bho6DzKydP


Salutations!


"Daniel" a écrit dans le message de news:

Bonjour michdenis
j'ai attacher une partie de mon fichier et
après l'exécution de la macros je devrais avoir en C28 le mot "Aiguille".
http://cjoint.com/?bhiwkqphJM

Merci
En passant je te souhaite une bonne Année


"michdenis" a écrit dans le message de news:
%
Bonjour Daniel,

Essaie ceci :
'----------------------------
Sub test()
Dim Sh As Worksheet

Set Sh = Worksheets("Feuil1")
With Sh
With .Range("D2:D1857")
Set r = .Find(Sh.Range("A1"), , xlValues, xlWhole)
End With
If Not r Is Nothing Then
.Range("C" & r) = .Range("a4")
End If
End With
Set Sh = Nothing
End sub
'----------------------------


Salutations!


"Daniel" a écrit dans le message de news:

Bonjour à Tous

J'ai une liste de 1857 ligne et avec
=INDEX(C2:C1857,EQUIV(A1,D2:D1857,0))
j'obtien le nom qu'il y a en C par rapport a A1

Je voudrait faire le contraire.
Avec un vba , je voudrait copier A4 , dans la colonne C vis a vis
la cellule équivalente au chiffre qu'il y a en A1.

Merci











Avatar
michdenis
Bonjour Daniel,

Si tu préfères, tu pourrais utiliser la colonne "D:D" comme zone de recherche
et la valeur en A1 comme valeur à rechercher :

'--------------------------------
Sub test()
Dim Sh As Worksheet, Rg As Range
Dim Mot As String

Set Sh = Worksheets("GPS-206")
Mot = Application.WorksheetFunction. _
Substitute(Format(Sh.Range("A1").Value, "##0.00"), ",", ".")

With Sh
With .Range("D2:D" & .Range("d65536").End(xlUp).Row)
Set Rg = .Find(Mot, , xlValues, xlPart)
End With
If Not Rg Is Nothing Then
.Range("C" & Rg.Row) = .Range("a4")
End If
End With
Set Sh = Nothing: Set Rg = Nothing
End Sub
'--------------------------------


Salutations!



"Daniel" a écrit dans le message de news:
Bonjour michdenis

Cela fontionne mais est t'il possible d'utiliser la colonne D a la place de
E pour la recherche.
car souvent le chiffre en B1 n'est pas dans la liste, ces pour cette
raison qu'il y a les colonne H I J ,
pour trouver le plus près.

J'ai tanter de changer E pour D et B1 pour A1 mais cela ne fonctionne pas
???
Dans mon programme j'ai une macro qui va chercher la LONG/LAT dans mon GPS
et le chiffre est coller en B1 .
Merci

"michdenis" a écrit dans le message de news:

Bonjour Daniel,

Ton fichier est là : http://cjoint.com/?bho6DzKydP


Salutations!


"Daniel" a écrit dans le message de news:

Bonjour michdenis
j'ai attacher une partie de mon fichier et
après l'exécution de la macros je devrais avoir en C28 le mot "Aiguille".
http://cjoint.com/?bhiwkqphJM

Merci
En passant je te souhaite une bonne Année


"michdenis" a écrit dans le message de news:
%
Bonjour Daniel,

Essaie ceci :
'----------------------------
Sub test()
Dim Sh As Worksheet

Set Sh = Worksheets("Feuil1")
With Sh
With .Range("D2:D1857")
Set r = .Find(Sh.Range("A1"), , xlValues, xlWhole)
End With
If Not r Is Nothing Then
.Range("C" & r) = .Range("a4")
End If
End With
Set Sh = Nothing
End sub
'----------------------------


Salutations!


"Daniel" a écrit dans le message de news:

Bonjour à Tous

J'ai une liste de 1857 ligne et avec
=INDEX(C2:C1857,EQUIV(A1,D2:D1857,0))
j'obtien le nom qu'il y a en C par rapport a A1

Je voudrait faire le contraire.
Avec un vba , je voudrait copier A4 , dans la colonne C vis a vis
la cellule équivalente au chiffre qu'il y a en A1.

Merci











Avatar
Daniel
Rebonjour michdenis

Après un problème il en resort un autre !
Je vien de m'appercevoir que lorsque je place cette macros dans un autre
fichier
cela ne va pas , car il y a plusieur donné en D qui sont pareille.

La solution serait comme pour la formule de la cellule en A1 ,
trouver la plus petite dans la colonne J,


Merci



"michdenis" a écrit dans le message de news:

Bonjour Daniel,

Si tu préfères, tu pourrais utiliser la colonne "D:D" comme zone de
recherche
et la valeur en A1 comme valeur à rechercher :

'--------------------------------
Sub test()
Dim Sh As Worksheet, Rg As Range
Dim Mot As String

Set Sh = Worksheets("GPS-206")
Mot = Application.WorksheetFunction. _
Substitute(Format(Sh.Range("A1").Value, "##0.00"), ",", ".")

With Sh
With .Range("D2:D" & .Range("d65536").End(xlUp).Row)
Set Rg = .Find(Mot, , xlValues, xlPart)
End With
If Not Rg Is Nothing Then
.Range("C" & Rg.Row) = .Range("a4")
End If
End With
Set Sh = Nothing: Set Rg = Nothing
End Sub
'--------------------------------


Salutations!



"Daniel" a écrit dans le message de news:

Bonjour michdenis

Cela fontionne mais est t'il possible d'utiliser la colonne D a la place
de
E pour la recherche.
car souvent le chiffre en B1 n'est pas dans la liste, ces pour cette
raison qu'il y a les colonne H I J ,
pour trouver le plus près.

J'ai tanter de changer E pour D et B1 pour A1 mais cela ne fonctionne pas
???
Dans mon programme j'ai une macro qui va chercher la LONG/LAT dans mon GPS
et le chiffre est coller en B1 .
Merci

"michdenis" a écrit dans le message de news:

Bonjour Daniel,

Ton fichier est là : http://cjoint.com/?bho6DzKydP


Salutations!


"Daniel" a écrit dans le message de news:

Bonjour michdenis
j'ai attacher une partie de mon fichier et
après l'exécution de la macros je devrais avoir en C28 le mot "Aiguille".
http://cjoint.com/?bhiwkqphJM

Merci
En passant je te souhaite une bonne Année


"michdenis" a écrit dans le message de news:
%
Bonjour Daniel,

Essaie ceci :
'----------------------------
Sub test()
Dim Sh As Worksheet

Set Sh = Worksheets("Feuil1")
With Sh
With .Range("D2:D1857")
Set r = .Find(Sh.Range("A1"), , xlValues, xlWhole)
End With
If Not r Is Nothing Then
.Range("C" & r) = .Range("a4")
End If
End With
Set Sh = Nothing
End sub
'----------------------------


Salutations!


"Daniel" a écrit dans le message de news:

Bonjour à Tous

J'ai une liste de 1857 ligne et avec
=INDEX(C2:C1857,EQUIV(A1,D2:D1857,0))
j'obtien le nom qu'il y a en C par rapport a A1

Je voudrait faire le contraire.
Avec un vba , je voudrait copier A4 , dans la colonne C vis a vis
la cellule équivalente au chiffre qu'il y a en A1.

Merci
















Avatar
michdenis
ET ceci :

'-----------------------------
Sub Test()

Dim Rg As Range, R As Variant
With Worksheets("GPS-206")
Set Rg = .Range("J2:J" & .Range("J65536").End(xlUp).Row)
On Error Resume Next
R = Application.Match(Application.Min(Rg), Rg, 0) + 1
If Err = 0 Then
.Range("C" & R) = .Range("a4")
End If
End With
Set Rg = Nothing
End Sub
'-----------------------------


Salutations!



"Daniel" a écrit dans le message de news:
Rebonjour michdenis

Après un problème il en resort un autre !
Je vien de m'appercevoir que lorsque je place cette macros dans un autre
fichier
cela ne va pas , car il y a plusieur donné en D qui sont pareille.

La solution serait comme pour la formule de la cellule en A1 ,
trouver la plus petite dans la colonne J,


Merci



"michdenis" a écrit dans le message de news:

Bonjour Daniel,

Si tu préfères, tu pourrais utiliser la colonne "D:D" comme zone de
recherche
et la valeur en A1 comme valeur à rechercher :

'--------------------------------
Sub test()
Dim Sh As Worksheet, Rg As Range
Dim Mot As String

Set Sh = Worksheets("GPS-206")
Mot = Application.WorksheetFunction. _
Substitute(Format(Sh.Range("A1").Value, "##0.00"), ",", ".")

With Sh
With .Range("D2:D" & .Range("d65536").End(xlUp).Row)
Set Rg = .Find(Mot, , xlValues, xlPart)
End With
If Not Rg Is Nothing Then
.Range("C" & Rg.Row) = .Range("a4")
End If
End With
Set Sh = Nothing: Set Rg = Nothing
End Sub
'--------------------------------


Salutations!



"Daniel" a écrit dans le message de news:

Bonjour michdenis

Cela fontionne mais est t'il possible d'utiliser la colonne D a la place
de
E pour la recherche.
car souvent le chiffre en B1 n'est pas dans la liste, ces pour cette
raison qu'il y a les colonne H I J ,
pour trouver le plus près.

J'ai tanter de changer E pour D et B1 pour A1 mais cela ne fonctionne pas
???
Dans mon programme j'ai une macro qui va chercher la LONG/LAT dans mon GPS
et le chiffre est coller en B1 .
Merci

"michdenis" a écrit dans le message de news:

Bonjour Daniel,

Ton fichier est là : http://cjoint.com/?bho6DzKydP


Salutations!


"Daniel" a écrit dans le message de news:

Bonjour michdenis
j'ai attacher une partie de mon fichier et
après l'exécution de la macros je devrais avoir en C28 le mot "Aiguille".
http://cjoint.com/?bhiwkqphJM

Merci
En passant je te souhaite une bonne Année


"michdenis" a écrit dans le message de news:
%
Bonjour Daniel,

Essaie ceci :
'----------------------------
Sub test()
Dim Sh As Worksheet

Set Sh = Worksheets("Feuil1")
With Sh
With .Range("D2:D1857")
Set r = .Find(Sh.Range("A1"), , xlValues, xlWhole)
End With
If Not r Is Nothing Then
.Range("C" & r) = .Range("a4")
End If
End With
Set Sh = Nothing
End sub
'----------------------------


Salutations!


"Daniel" a écrit dans le message de news:

Bonjour à Tous

J'ai une liste de 1857 ligne et avec
=INDEX(C2:C1857,EQUIV(A1,D2:D1857,0))
j'obtien le nom qu'il y a en C par rapport a A1

Je voudrait faire le contraire.
Avec un vba , je voudrait copier A4 , dans la colonne C vis a vis
la cellule équivalente au chiffre qu'il y a en A1.

Merci
















Avatar
Daniel
Bonsoir michdenis

Très bien cela fonctionne ,je l'ai adapter a mon fichier qui a 29193 ligne
et ca fonctionne bien, mais "il y a toujour un mais"
l'ouverture du fichier pend plus d'une minute pour s"afficher !!
18 MO :-)

Gros merci

"michdenis" a écrit dans le message de news:

ET ceci :

'-----------------------------
Sub Test()

Dim Rg As Range, R As Variant
With Worksheets("GPS-206")
Set Rg = .Range("J2:J" & .Range("J65536").End(xlUp).Row)
On Error Resume Next
R = Application.Match(Application.Min(Rg), Rg, 0) + 1
If Err = 0 Then
.Range("C" & R) = .Range("a4")
End If
End With
Set Rg = Nothing
End Sub
'-----------------------------


Salutations!



"Daniel" a écrit dans le message de news:

Rebonjour michdenis

Après un problème il en resort un autre !
Je vien de m'appercevoir que lorsque je place cette macros dans un autre
fichier
cela ne va pas , car il y a plusieur donné en D qui sont pareille.

La solution serait comme pour la formule de la cellule en A1 ,
trouver la plus petite dans la colonne J,


Merci



"michdenis" a écrit dans le message de news:

Bonjour Daniel,

Si tu préfères, tu pourrais utiliser la colonne "D:D" comme zone de
recherche
et la valeur en A1 comme valeur à rechercher :

'--------------------------------
Sub test()
Dim Sh As Worksheet, Rg As Range
Dim Mot As String

Set Sh = Worksheets("GPS-206")
Mot = Application.WorksheetFunction. _
Substitute(Format(Sh.Range("A1").Value, "##0.00"), ",", ".")

With Sh
With .Range("D2:D" & .Range("d65536").End(xlUp).Row)
Set Rg = .Find(Mot, , xlValues, xlPart)
End With
If Not Rg Is Nothing Then
.Range("C" & Rg.Row) = .Range("a4")
End If
End With
Set Sh = Nothing: Set Rg = Nothing
End Sub
'--------------------------------


Salutations!



"Daniel" a écrit dans le message de news:

Bonjour michdenis

Cela fontionne mais est t'il possible d'utiliser la colonne D a la place
de
E pour la recherche.
car souvent le chiffre en B1 n'est pas dans la liste, ces pour cette
raison qu'il y a les colonne H I J ,
pour trouver le plus près.

J'ai tanter de changer E pour D et B1 pour A1 mais cela ne fonctionne pas
???
Dans mon programme j'ai une macro qui va chercher la LONG/LAT dans mon
GPS
et le chiffre est coller en B1 .
Merci

"michdenis" a écrit dans le message de news:

Bonjour Daniel,

Ton fichier est là : http://cjoint.com/?bho6DzKydP


Salutations!


"Daniel" a écrit dans le message de news:

Bonjour michdenis
j'ai attacher une partie de mon fichier et
après l'exécution de la macros je devrais avoir en C28 le mot
"Aiguille".
http://cjoint.com/?bhiwkqphJM

Merci
En passant je te souhaite une bonne Année


"michdenis" a écrit dans le message de news:
%
Bonjour Daniel,

Essaie ceci :
'----------------------------
Sub test()
Dim Sh As Worksheet

Set Sh = Worksheets("Feuil1")
With Sh
With .Range("D2:D1857")
Set r = .Find(Sh.Range("A1"), , xlValues, xlWhole)
End With
If Not r Is Nothing Then
.Range("C" & r) = .Range("a4")
End If
End With
Set Sh = Nothing
End sub
'----------------------------


Salutations!


"Daniel" a écrit dans le message de news:

Bonjour à Tous

J'ai une liste de 1857 ligne et avec
=INDEX(C2:C1857,EQUIV(A1,D2:D1857,0))
j'obtien le nom qu'il y a en C par rapport a A1

Je voudrait faire le contraire.
Avec un vba , je voudrait copier A4 , dans la colonne C vis a vis
la cellule équivalente au chiffre qu'il y a en A1.

Merci