macro recherche d'une cellule dans une base de donnée pour la remplacer

juliend

XLDnaute Nouveau
Bonjour
Je suis étudiant et dans le cadre de mon stage je dois réaliser sous excel un outil informatique de suivi des véhicules ...
J'ai déjà bien avancé cependant je suis bloqué :S
Mon logiciel s'organise de cette manière:
-une programmation de saisie d'informations sur les véhicules
-les données saisies sont "stockées" sur deux bases de données différentes
-une programmation de filtre afin d'extraire les information qui nous intéressent

Mon problème se situe dans la saisie des charges imputées à un véhicule, en effet j'aimerais que lorsque un véhicule passe au contrôle technique, sa validité (au contrôle technique ) soit modifiée.

Concrètement je recherche une macro qui :
-recherche (grâce à l'immatriculation, ) dans la base de donnée afin de situer la validité du contrôle technique(="validité mines")
-une fois la cellule située il faut la remplacer par une autre date

Les données nécessaires à cette programmation se trouvent sur des feuilles différentes:
-la valeur à remplacer se trouve dans la colonne L de la feuille "Références tous vehicules"
-la valeur qui remplacera est la cellule C9 de la feuille "ajouter charge"
-l'immatriculation nécessaire à la recherche est la cellule "F1" de la feuille "ajouter charge"

Voilà, j'espère avoir été assez claire , et je vous remercie d'avance pour votre aide! :)
 

Pièces jointes

  • suivi vehicule excel download.zip
    263.6 KB · Affichages: 41
  • suivi vehicule excel download.zip
    263.6 KB · Affichages: 39
  • suivi vehicule excel download.zip
    263.6 KB · Affichages: 43

bond

XLDnaute Occasionnel
Re : macro recherche d'une cellule dans une base de donnée pour la remplacer

Est ce que ce bout de code te permet d'avancer...
Code:
    Sheets("Références tous vehicules").Select: Columns("A:A").Select
    Sheets("Références tous vehicules").Columns("A:A"). _
        Find(What:=Sheets("ajouter charge").Range("F1").Value, After:=ActiveCell, LookIn:=xlValues, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate
    Range("L" & ActiveCell.Row).Value = Sheets("ajouter charge").Range("C9").Value
 

juliend

XLDnaute Nouveau
Re : macro recherche d'une cellule dans une base de donnée pour la remplacer

Merci bond, je pense que je vais devoir utiliser la fonction find or je ne l'ai jamais utilisé auparavant.... Peux tu me présenter ses caractéristiques brièvement... :)
 

juliend

XLDnaute Nouveau
Re : macro recherche d'une cellule dans une base de donnée pour la remplacer

:)
Merci bond, ce que tu m'as donné m'as beaucoup aidé!
voilà ce que ça donne:


Dim validitemines As Date

Sheets("ajouter charge").Select
validitemines = [C9].Value

Sheets("Références tous vehicules").Select
Cells.Find(What:=Sheets("ajouter charge").Range("F1").Value, After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate

ActiveCell.Offset(0, 11) = validitemines
end sub

Cependant j'aimerais que cette opération s'effectue que lorsque la cellule "C15" de la feuille "ajouter charge" contient un des mots suivants "mines" ou "limiteur"
Ca fait une heure que je suis coincé sur ce problème... :( J'essaye avec une fonction si mais ca me met un message d'erreur ...
Je te sollicite encore une fois Bond ;)
 

bond

XLDnaute Occasionnel
Re : macro recherche d'une cellule dans une base de donnée pour la remplacer

Utililise les balises de code c'est plus facile à lire (en mode avancé, #)

place un If au tout début en un End If à la fin :
Code:
Sub ...()
If Sheets("ajouter charge").Range("C15").Value = "mines" Or _
    Sheets("ajouter charge").Range("C15").Value = "limiteur" Then

'code

End If
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 216
Messages
2 086 351
Membres
103 195
dernier inscrit
martel.jg