Recherche/remplacement

Salut tt l monde ,

Je voulais savoir si c est possible de rechercher une cellule précise et remplacer ca valeur par une autre ,

Pour mieux expliquer ( j' en ai fais pour le suivie des entrée sortie voiture par matricule : a chaque fois j sais le matricul et la date d entree je valide et a l aide d une macro ces donné vont etre enregistrer dans un tableau

Maintenant je veux ajouter la date de sortie toujour avec une macro donc les donne sont le matricule et la date de sortie donc ma fonction dois rechercher ce num de matricul dans le tableau et elle dois y aller au cellule des dates de sortie et mettre la valeur que j ai deja donné )

Ps: j en ai essayé (remplacer(recherchev(num-matricul;montableau;3;0);le date de sortie ) maos ca na as pas fonctionné

Merci

Bonsoir,

existe il une recherche/traducteur ?
Veuillez prendre le temps de vous relire et de fournir un fichier afin que vos explications puissent être compréhensibles par le plus grand nombre. Comme cela vous augmentez vos chances d'avoir une réponse en adéquation avec votre demande.

@ bientôt

LouReeD

13anas-suivie.xlsm (139.35 Ko)

ce que je veux faire c'est de crée une macro qui va rechercher la referance situéé dans la case E22 de la feuill aceuill dans le tableau situéé dansa la feuille tracage citerne et de coller la date de cellule G22 dans la cellule G de tableau corespondant au referance chercher .
sache que si y'en a deja une valeur dans ce case faut pas l ecraser .
j en ai essayer avec =SI(ET(G2<>" ";[@[REF CITERNE]]=ACEUILL!$E$22);ACEUILL!$G$22;"") mais ca n'as pas fonctionner.
j'espere que j'ai mieu expliquer

et j'ai donner l'exemple de citerne maintenant mais c'est le meme principe que celui de voiture

Bonjour,

Vous ne pouvez pas faire ce que vous souhaitez avec une formule, puisqu'une formule ne peut pas à la fois tester le contenu de la cellule dans laquelle elle se trouve et retourner un résultat différent suivant le contenu de cette cellule.

Il faut passer par du VBA. Ci-dessous, le code affecté au 2ème bouton "Valider" de la feuille "ACCUEIL" pour le RETOUR CITERNE.

Sub Validation_Retour_Citerne()
    Dim f1 As Worksheet, f2 As Worksheet
    Dim DerLig As Long, i As Long
    Application.ScreenUpdating = False
    Set f1 = Sheets("ACCUEIL")
    Set f2 = Sheets("TRACAGE CITERNE")

    DerLig = f2.ListObjects("Tableau3").DataBodyRange.Rows.Count
    Ref_Citerne = f1.Range("E22")
    Date_Retour = f1.Range("G22")
    With f2.Range("A1:A" & DerLig)
        Set Ref = .Find(Ref_Citerne, lookat:=xlWhole)
        If Not Ref Is Nothing Then
            Pos_Ref = Ref.Address
            Do
                If Cells(Ref.Row, "G") = "" Then Cells(Ref.Row, "G") = Date_Retour
                Set Ref = .FindNext(Ref)
            Loop While Not Ref Is Nothing And Ref.Address <> Pos_Ref
        End If
    End With
    Set f1 = Nothing
    Set f2 = Nothing
End Sub

Cdlt

Edit:

Petite modification:

Sub Validation_Retour_Citerne()
    Dim f1 As Worksheet, f2 As Worksheet
    Dim DerLig As Long, i As Long
    Application.ScreenUpdating = False
    Set f1 = Sheets("ACCUEIL")
    Set f2 = Sheets("TRACAGE CITERNE")

    DerLig = f2.ListObjects("Tableau3").DataBodyRange.Rows.Count
    Ref_Citerne = f1.Range("E22")
    Date_Retour = f1.Range("G22")
    With f2.Range("A1:A" & DerLig)
        Set Ref = .Find(Ref_Citerne, lookat:=xlWhole)
        If Not Ref Is Nothing Then
            Pos_Ref = Ref.Address
            Do
                If f2.Cells(Ref.Row, "G") = "" Then f2.Cells(Ref.Row, "G") = Date_Retour
                Set Ref = .FindNext(Ref)
            Loop While Not Ref Is Nothing And Ref.Address <> Pos_Ref
        End If
    End With
    Set f1 = Nothing
    Set f2 = Nothing
End Sub

merci infinement c'est exactement ce que je voulais faire ,
juste une dernier truc , comment ajouter le commentaire aussi !
c'est a dire il va mettre le date de retour ainsi que le commentaire
encor une fois merci infinement

Bonjour,

bravo Arturo83 !

@ bientôt

LouReeD

Voilà la modif:

Sub Validation_Retour_Citerne()
    Dim f1 As Worksheet, f2 As Worksheet
    Dim DerLig As Long, i As Long
    Dim Ref_Citerne As Long
    Dim Date_Retour As Date
    Dim Commentaire As String
    Application.ScreenUpdating = False
    Set f1 = Sheets("ACCUEIL")
    Set f2 = Sheets("TRACAGE CITERNE")

    DerLig = f2.ListObjects("Tableau3").DataBodyRange.Rows.Count
    Ref_Citerne = f1.Range("E22")
    Date_Retour = f1.Range("G22")
    Commentaire = f1.Range("I22")
    With f2.Range("A1:A" & DerLig)
        Set Ref = .Find(Ref_Citerne, lookat:=xlWhole)
        If Not Ref Is Nothing Then
            Pos_Ref = Ref.Address
            Do
                If f2.Cells(Ref.Row, "G") = "" Then
                    f2.Cells(Ref.Row, "G") = Date_Retour
                    f2.Cells(Ref.Row, "H") = Commentaire
                End If
                Set Ref = .FindNext(Ref)
            Loop While Not Ref Is Nothing And Ref.Address <> Pos_Ref
        End If
    End With
    Set f1 = Nothing
    Set f2 = Nothing
End Sub

Cdlt

c'est excatement ce que je cherche merci infiniment

en faites j'ai essayé d'integrer un user form pour la triage de mon tableau et ca me donne toujour un defaut au niveau de ce code la
Feuil2.[A1].CurrentRegion.AdvancedFilter Action:=xlFilterCopy, _
criteriarange:=Feuil5.[K:K2], _
copytorange:=Feuil5.[A1], Unique:=False
je me demande si la problem et donne mon code ou bien que la version excel ne support pas la fonctioin filtre

10suivie-final.xlsm (203.98 Ko)

C est bon resolu merci infinement pour votre aide

Rechercher des sujets similaires à "recherche remplacement"