VBA Sélection cellule correspondant à ma valeur sur une autre feuille

chris6999

XLDnaute Impliqué
Bonjour le FORUM

Je suis en train d'élaborer une grille de remplissage à partir d'une fiche de saisie.
En fonction du nom de l'utilisateur (sélectionné en G2 de ma feuille) et de la date (à saisir en K2) le système, lorsqu'il reconnait le couple "Utilisateur / Date" (car des données sont déjà connues pour la date dans la feuille du nom de l'utilisateur), il propose d'importer les données pour modifications (Via un Userform).

Aujourd'hui j'ai un code qui me permet d'exporter les données fiches en incrémentant la première ligne vide de ma feuille agent.

nomfeuille = Sheets("Fiche SAISIE").Range("G2").Value
Sheets(nomfeuille).Activate
Range("A5").Select
'A partir de la ligne 5 colonne A
'Sélectionner la première ligne non vide en partant du bas
Selection.End(xlDown).Select
'Se positionne sur la ligne suivante donc la vide
derligne = ActiveCell.Row + 1

Ce que je souhaiterais c'est de pouvoir rapatrier ces données corrigées, non pas sur la première ligne vide mais sur la ligne correspondant à la date modifiée.
Il faudrait remplacer Selection.End(xlDown).Select mais je ne sais pas par quoi.
Quelque chose qui dirait sélectionne la cellule si identique à K2 de ma feuille Fiche Saisie...

Je mets un fichier en PJ pour illustrer ma demande.

Merci encore pour votre aide
Bonne journée
 

Pièces jointes

  • TEST fiche remplissage.xls
    256 KB · Affichages: 20
  • TEST fiche remplissage.xls
    256 KB · Affichages: 23
  • TEST fiche remplissage.xls
    256 KB · Affichages: 30

Paf

XLDnaute Barbatruc
Re : VBA Sélection cellule correspondant à ma valeur sur une autre feuille

Bonjour

un solution possible pour déterminer la ligne correspondant à la date modifiée pour un agent:

Code:
Sub Chris6999()
Dim MaDate, MonAgent, DerLig,c
Dim Trouvé As Boolean

Trouvé = False
With Worksheets("Fiche SAISIE")
MaDate = .Range("K2")
MonAgent = .Range("G2")
End With
With Worksheets(MonAgent)
    DerLig = .Range("A" & Rows.Count).End(xlUp).Row
    For Each c In .Range("A1:A" & DerLig)
        If c Like "*" & MaDate & "*" Then
            MsgBox "trouvé  " & c.Row
            Trouvé = True
            Exit For
        End If
    Next
    If Trouvé = False Then MsgBox "pas trouvé"
End With

End Sub

A+
 

chris6999

XLDnaute Impliqué
Re : VBA Sélection cellule correspondant à ma valeur sur une autre feuille

Bonjour PAF

Ce que je souhaitais c'était trouver un moyen de sélectionner la cellule en question.
J'ai essayé de mettre If c Like "*" & MaDate & "*" Then c.Select mais cela ne foncionne pas.

Je vais creuser encore
Merci beaucoup en tous cas


Bonjour

un solution possible pour déterminer la ligne correspondant à la date modifiée pour un agent:

Code:
Sub Chris6999()
Dim MaDate, MonAgent, DerLig,c
Dim Trouvé As Boolean

Trouvé = False
With Worksheets("Fiche SAISIE")
MaDate = .Range("K2")
MonAgent = .Range("G2")
End With
With Worksheets(MonAgent)
    DerLig = .Range("A" & Rows.Count).End(xlUp).Row
    For Each c In .Range("A1:A" & DerLig)
        If c Like "*" & MaDate & "*" Then
            MsgBox "trouvé  " & c.Row
            Trouvé = True
            Exit For
        End If
    Next
    If Trouvé = False Then MsgBox "pas trouvé"
End With

End Sub

A+
 

Paf

XLDnaute Barbatruc
Re : VBA Sélection cellule correspondant à ma valeur sur une autre feuille

Re

Ce que je souhaiterais c'est de pouvoir rapatrier ces données corrigées, non pas sur la première ligne vide mais sur la ligne correspondant à la date modifiée.

Il n'était pas question de sélectionner une cellule;ma proposition de code illustrait une façon de trouver la ligne en question.

pour sélectionner la cellule :

Code:
        If c Like "*" & MaDate & "*" Then
            .Activate
            .Range(c.Address).Select
             ......

Bonne suite
 

chris6999

XLDnaute Impliqué
Re : VBA Sélection cellule correspondant à ma valeur sur une autre feuille

Merci PAF maintenant que j'ai la solution pour sélectionner la bonne ligne je vais essayer d'avancer sur l'export des données.

Bonne soirée

Re



Il n'était pas question de sélectionner une cellule;ma proposition de code illustrait une façon de trouver la ligne en question.

pour sélectionner la cellule :

Code:
        If c Like "*" & MaDate & "*" Then
            .Activate
            .Range(c.Address).Select
             ......

Bonne suite
 

Discussions similaires