sélectionner cellules selon valeur

P

Philippe

Guest
Bonjour

Dans la colonne B de la feuille1, j'ai une valeur (x) qui peut se trouver à différents endroits (ex: B3, B4, B10 à B15, etc...)
Mon but, est de pouvoir les sélectionner, ainsi que les les cellules adjacentes des colonnes C et E, puis de les copier en A1 de la feuille 2.

J'avais commencé le code qui me permettait d'effectuer la sélection à partir d'une inputbox. Le seul pb est que je dois partir de B1 et que dans mon cas, la première valeur cherchée peut se trouver en B2 ou B3, etc... et qu'enfin il peut y avoir des lignes vides entre chacune des valeurs.

Si quelqu'un a une solution à mon pb, il sera le bienvenu

Macro

Sub CHERCHEVALEUR()
Dim x As XlQueryType
x = InputBox('ma valeur')
With Range(IIf([B1] = x, [B1], [B:B].Find(x, [B1])), 'B65536')
Range(.Item(1), .ColumnDifferences(.Item(1))(0, 3)).Select
End With
End Sub
 

Bebere

XLDnaute Barbatruc
bonjour Philiphe,le Forum
essaye le code suivant
j'ai supposé que tu pouvais avoir la valeur cherchée plusieurs fois
j'ai supposé que la valeur cherchée était numérique
Sub CHERCHEVALEUR()
Dim x As integer, Cel As Range, Tbl As Variant, L As Integer
ReDim Tbl(1 To 3)
With Sheets('Feuil2')
If .Range('A1') = '' Then
L = 1
Else: L = .Range('A1').End(xlUp).Row + 1
End If
End With

x = InputBox('ma valeur')

With Sheets('Feuil1')
For Each Cel In .Range('B1:B' & .Range('B65536').End(xlUp).Row)
If Cel = x Then
Tbl(1) = Cel.Value: Tbl(2) = Cel.Offset(0, 1).Value: Tbl(3) = Cel.Offset(0, 2).Value
With Sheets('Feuil2')
.Range('A' & L & ':C' & L).Value = Tbl
L = L + 1
End With
End If
Next Cel
End With
End Sub

à bientôt
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 926
Membres
103 984
dernier inscrit
maliko67