Bonjour,
J'ai un fichier de contrôle outillage que j'aimerai ' automatiser '.
Pour cela, j'ai une feuille ( Contrôle périodique ) sur laquelle j'effectue le contrôle de l'outillage ( présent/manquant/perdu ) via menu déroulant, et tout en haut, j'ai un menu déroulant en cascade afin de choisir l'ouvrier en fonction du projet.
J'ai une autre feuille avec la liste des ouvriers et des colonnes vides dans lesquelles, dès que je valide le contrôle via un bouton que j'essaie de mettre en place ( et pour lequel j'aurai besoin de votre aide car je suis perdu ), il reprends en cellule A6 le nom du technicien, le recherche dans ma feuille "technicien contrôlés", et y indique dans la première colonne vide, la date du jour afin d'en avoir un historique. Et à chaque contrôle de l'ouvrier, hop, date du jour dans la prochaine colonne vide.
Etant extrêmement débutant, j'ai été piocher à gauche à droite des bouts de code que j'essaie de modifier et compiler afin d'en faire une macro fonctionnelle.
J'y ai trouvé ce code pour sélectionner la dernière colonne vide.
Et celui-ci pour la recherche du technicien dans la liste :
Que j'ai adaptés et compilés comme ceci :
Cependant, ce code est très joli, il semble trouver le nom et tout se déroule afin de m'afficher la msgbox à la fin.
Ce qui, pour l'instant, ne me sert encore à rien. Il me manque encore la façon de trouver la ligne correspondante au technicien et d'y indiquer la date..
Un grand merci pour votre lecture et votre patience.. Si le fichier est nécessaire, j'y supprimerais toutes les données présentes confidentielles et vous le partagerai,
Belle journée à tous,
J'ai un fichier de contrôle outillage que j'aimerai ' automatiser '.
Pour cela, j'ai une feuille ( Contrôle périodique ) sur laquelle j'effectue le contrôle de l'outillage ( présent/manquant/perdu ) via menu déroulant, et tout en haut, j'ai un menu déroulant en cascade afin de choisir l'ouvrier en fonction du projet.
J'ai une autre feuille avec la liste des ouvriers et des colonnes vides dans lesquelles, dès que je valide le contrôle via un bouton que j'essaie de mettre en place ( et pour lequel j'aurai besoin de votre aide car je suis perdu ), il reprends en cellule A6 le nom du technicien, le recherche dans ma feuille "technicien contrôlés", et y indique dans la première colonne vide, la date du jour afin d'en avoir un historique. Et à chaque contrôle de l'ouvrier, hop, date du jour dans la prochaine colonne vide.
Etant extrêmement débutant, j'ai été piocher à gauche à droite des bouts de code que j'essaie de modifier et compiler afin d'en faire une macro fonctionnelle.
J'y ai trouvé ce code pour sélectionner la dernière colonne vide.
VB:
Sub derniere_colonne_remplie()
Dim numero As String
numero = InputBox("Entrez le numéro de la ligne pour laquelle vous souhaitez atteindre la dernière colonne : ")
Dim i As Integer
i = 4
While Cells(1, i) <> ""
i = i + 1
Wend
Cells(numero, i).Select
End Sub
Et celui-ci pour la recherche du technicien dans la liste :
VB:
Sub Cherche()
Dim Trouve As Range, PlageDeRecherche As Range
Dim Valeur_Cherchee As String, AdresseTrouvee As String
Valeur_Cherchee = "Trouve"
Set PlageDeRecherche = ActiveSheet.Columns(1)
Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee,
LookAt:=xlWhole)
If Trouve Is Nothing Then
AdresseTrouvee = Valeur_Cherchee
& " n'est pas présent dans "
& PlageDeRecherche.Address
Else
AdresseTrouvee = Trouve.Address
End If
MsgBox AdresseTrouvee
Set PlageDeRecherche = Nothing
Set Trouve = Nothing
End Sub
Que j'ai adaptés et compilés comme ceci :
VB:
Sub Cherche()
Dim Trouve As Range, PlageDeRecherche As Range
Dim Valeur_Cherchee As String, AdresseTrouvee As String
Valeur_Cherchee = Cells(1, 6)
Set PlageDeRecherche = Sheets("Techniciens contrôlés").Columns(1)
Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookAt:=xlWhole)
If Trouve Then
Dim numero As String
numero = InputBox("2")
Dim i As Integer
i = 4
While Cells(1, i) <> ""
i = i + 1
Wend
Cells(numero, i).Select
Sheets("Techniciens contrôlés").Range("B2").Value = Format(Now, "MM/DD/YYYY HH:MM")
End If
MsgBox AdresseTrouvee
Set PlageDeRecherche = Nothing
Set Trouve = Nothing
End Sub
Cependant, ce code est très joli, il semble trouver le nom et tout se déroule afin de m'afficher la msgbox à la fin.
Ce qui, pour l'instant, ne me sert encore à rien. Il me manque encore la façon de trouver la ligne correspondante au technicien et d'y indiquer la date..
Un grand merci pour votre lecture et votre patience.. Si le fichier est nécessaire, j'y supprimerais toutes les données présentes confidentielles et vous le partagerai,
Belle journée à tous,