VBA : Recherche d'une valeur et sélection des lignes correspondantes

  • Initiateur de la discussion Initiateur de la discussion Caro.R
  • 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 !

Caro.R

XLDnaute Nouveau
Bonjour le Forum,

J'ai un tableau avec des dates et des heures de chargement/déchargement. J'ai un bouton qui appel un userform demandant à l'utilisateur d'entrer une date (pésente dans le tableau) afin de copier toutes les lignes correspondantes à cette date ainsi que les colonnes à droite. (ceci me sert pour la suite de mon code).

J'ai un tableau avec des dates allant du 12/03 au 16/03. Ma macro fonctionne très bien sauf pour le 13/03 où elle ne sélectionne que la première ligne et refuse de sélectionner toutes les autres lignes correspondantes au 13/03....

Voici mon code :
Code:
Sub Ok_Click()

Dim i As Integer
Dim fin As Integer
Dim mescells As Range
Dim cell As Object
Dim plage As Range
Dim deb As Integer

fin = Range("B7").End(xlDown).Row
i = 7
For i = 7 To fin
    If Range("B" & i) Like dat.Value Then
        Range("B" & i).Select
        Exit For
    End If
Next i

deb = Selection.Row

Set plage = Range("B5 : B" & fin)
Set mescells = Range("B" & deb)

For Each cell In plage.Cells
    If cell = dat Then
    Set mescells = Union(mescells, cell)
    End If
Next
mescells.Offset(0, 1).Resize(mescells.Rows.Count, _
                                  mescells.Columns.Count + 2).Select

End Sub

Je joins également mon fichier pour que ce soit plus clair.

Si quelqu'un arrive à trouver où se trouve la bizarrerie ...
Merci d'avance !
 

Pièces jointes

Re : VBA : Recherche d'une valeur et sélection des lignes correspondantes

Bonjour.
Comme tu n’utilises pas de vrai date mais des chaines de caractères utilise like au lieu de = dans la deuxième partie de ton code
sinon problème de format de date!
For Each cell In plage.Cells
If cell Like dat Then
Set mescells = Union(mescells, cell)
End If
Next
 
Re : VBA : Recherche d'une valeur et sélection des lignes correspondantes

Bonjour Sousou,

Merci beaucoup ça marche nickel !! Ca fait des heures que je suis là dessus et à force d'avoir le nez dedans je vois plus rien ...
Tu m'enlèves une épine du pied, je peux passer à la suite maintenant !

Bonne journée !
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
5
Affichages
705
Réponses
4
Affichages
581
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
447
Réponses
2
Affichages
427
Retour