Par Vba, chercher valeur et sélectionner plage

  • Initiateur de la discussion jepi67
  • Date de début
J

jepi67

Guest
Bonjour à toutes et à tous,

Qui pourrait donner un petit tuyau pour alimenter la Macreau :) d'un débutant en Vba ?
Dans un tableau B2:K500 j'ai en col B des données 'Nom'; en col E à K, par ligne, une seule valeur 'Nb' dans l'une des col uniquement. Cette valeur 'Nb' me donne le nombre de cells contigüe sur la Feuil2 correspondant à la désignation 'Nom'.
Avec une macro je souhaiterai : en partant d'une sélection quelconque en colonne B sur la Feuil1, trouver sur la même ligne la valeur 'Nb', exploiter cette dernière pour sélectionner la plage contenant la même valeur 'Nom' sur ma Feuil2.
Dans le fichier joint j'ai un début de code qui trouve la cellule sur la Feuil2 et me met le texte en couleur mais je sèche pour le reste.

a+ [file name=Cherch_select.zip size=8331]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Cherch_select.zip[/file]

Message édité par: jepi67, à: 22/05/2005 17:00
 

Pièces jointes

  • Cherch_select.zip
    8.1 KB · Affichages: 121

Hervé

XLDnaute Barbatruc
Bonjour

ci-dessous ta macro modifié :

Option Explicit
Sub Recher_place()
'Action de cette macro : Recherche places réservées
Dim x As String
Dim nombre As Integer
Dim c As Range
Dim firstaddress As String
x = ActiveCell.Value
nombre = Cells(ActiveCell.Row, 256).End(xlToLeft).Columns
Sheets('Feuil2').Select
With Worksheets('Feuil2').Range('B2:AF22')
   
Set c = .Find(x, LookIn:=xlValues)
   
If Not c Is Nothing Then
        firstaddress = c.Address
       
Do
            c.Font.ColorIndex = 3
           
Set c = .FindNext(c)
       
Loop While Not c Is Nothing And c.Address <> firstaddress
&nbsp; &nbsp;
End If
&nbsp;
End With
Range(firstaddress, Cells(c.Row, c.Column + nombre - 1)).Select

End Sub


ce code :

nombre = Cells(ActiveCell.Row, 256).End(xlToLeft).Columns

donne la derniere valeur d'une ligne.

Salut
 

jepi67

XLDnaute Occasionnel
Hervé écrit:
Bonjour

ce code :
nombre = Cells(ActiveCell.Row, 256).End(xlToLeft).Columns

donne la derniere valeur d'une ligne.
Salut

Bonjour Hervé, bonjour le forum,

Merci pour le code, il fonctionne parfaitement dans l'exemple donné, mais je n'avais malheureusement :sick: pas précisé qu'il y avait encore une valeur (un produit) dans une colonne plus à droite de mon tableau. Il me faudrait donc trouver l'avant dernière valeur de la ligne.

Quand on débute on ne voit pas toutes les incidences de l'ensemble, mais je progresse (pas à pas) grâce à vous tous qui 'enseignez' sur ce Forum.

Message édité par: jepi67, à: 23/05/2005 09:44
 

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 899
Membres
103 404
dernier inscrit
sultan87