bloquage sur une macro

  • Initiateur de la discussion Initiateur de la discussion Grego
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

Grego

Guest
Salut le forum,

J'ai un petit souci avec cette macro ,elle cherche les lignes d'une feuillle contenant la valeur "TOTAL" et me les selectionnent.

Sub SelectCellulesValeurDeterminee()
LaValeur = Rows.find ("total")
Range("A1").Select
For Each cll In ActiveCell.CurrentRegion
If cll.Value = LaValeur Then Plg = Plg & cll.row() & ":"&Plg & cll.row() & ","
Next cll
If Len(Plg) > 0 Then Range(Left(Plg, Len(Plg) - 1)).Select
End Sub

Jusque la c'est impect, mais j'essaye maintenant de la modifier pour qu'elle trouve effectivement les lignes ou ce trouve le mot"total" mais ne me selectionne qu'une plage et non la ligne entiere.

Voici mes test ,mais ne fonctionne pas

Sub SelectCellulesValeurDeterminee()
LaValeur = Rows.find ("total")
Range("A1").Select
For Each cll In ActiveCell.CurrentRegion
If cll.Value = LaValeur Then Plg = Plg & cll.column("a:aw) & ":" & cll.column("a:aw) & ","
Next cll
If Len(Plg) > 0 Then Range(Left(Plg, Len(Plg) - 1)).Select
End Sub


Voila c'est la que je coince ,si Quelqu'un à une petite idée ,je vous en remercie d'avance .

PS:Vive ce forum
 
Bjr

connais-tu les fonctions EQUIV qui recherche le mot et INDEX qui te donne une valeur correspondant au mot cherché selon la cellule voulue ?

tu peux télécharger des exemples dans "les exemples et leçons", sur la page 3, Bibliothèque de fonctions...

Bon courage

Gérard
 
Bonjour Natorp , Bonjour Grego

peux tu tester la procédure ci dessous :
dans ta demande j'ai interprété que tu souhaitais selectionner des plages ( A à AW ) pour chaque ligne contenant le mot "total"

Option Explicit
Sub SelectCellulesValeurDeterminee()
Dim c As Object
Dim firstaddress As String
Dim plage As Object

With Cells
Set c = .Find("total", LookAt:=xlPart)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = Range("A" & (c.Row) & ":" & "AW" & (c.Row))
Do
Set plage = Application.Union(plage, Range("A" & (c.Row) & ":" & "AW" & (c.Row)))
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
If Not plage Is Nothing Then
plage.Select
End If

End Sub



Bonne soirée
Michel
lapin4.gif
 
Bonsoirle forum ,natorp,Michel,romain

SUPER un grand merci a vous tous ,vous étes des pros,et j'espere le devenir avec les demos que vous faites.

?c'est vraiment le top ce forum ,j'arrive à tous résoudre avec vous
Merci et bonne soirée.

GREGO
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
440
Réponses
1
Affichages
607
Retour