Bonjour, à tous,
Je cherche à créer un système de notification sur une feuille par rapport à des dates et numéros de machines contenus dans deux autres feuilles.
Je voudrais que les dates à moins de 21 j dans la feuille 2 colonne k et le numéro de parc qui va avec colonne d soit reporté dans la feuille 1, pour la colonne k de la feuille 2 dans la colonne h de la feuille 1, et la colonne d de la feuille 2 dans la colonne j de la feuille 1 et pour "les données de la feuille 2" que cela soit marqué ("MINES") dans la feuille 1 colonne k. Et il faut faire de même pour la feuille 3 c'est à dire si on est à moins de 21 j de la date de la colonne I, reporter cette date dans la feuille 1 dans la colonne h avec le numéro de parc de la feuille 3 colonne d dans la feuille 1 avec ici la notification en colonne I de la feuille 1 (VGP).
Je joins un fichier vierge avec j'ai essayé en code vba et en formule mais rien ne fonctionne.
J'ai essayé une macro qui est présente dans la feuil1
Pas besoin de me donner toute la réponse je veux juste comprendre comment faire.
Hello
un début de réponse ici
PS: tu peux te passer de tes fonctions "lignes": la première instruction que j'ai ecrite et décrite fait exactement la meme chose
VB:
Sub Delais()
Dim delai As Integer
ActiveSheet.Unprotect ("0000")
Dim i As Long
delai = 21 '21 jours
'rows.Count==> c'est le nombre maximum de ligne sur une feuille excel: anciennemnt 65536 qui est maintenant 1 048 576
'range("H" &rows.Count) = dernière ligne de la colonne H
'.end(xlup): permet de remonter jusqu'à la première ligne NON vide
'.row: récupère le numéro de la ligne
LastLine = Range("H" & Rows.Count).End(xlUp).Row 'dernière ligne NON vide de la colonne H:==> si rien en H10, on a 10, alors qu'on voudrait 11
If Range("H"...
Dim i As Long
On Error GoTo Fin
If InputBox("Veuillez saisir votre mot de passe") <> "0000" Then
MsgBox ("Le Mot de passe est faux")
Exit Sub
End If
With Sheets("feuille2")
ActiveSheet.Unprotect ("0000")
Range("D" & ComboBox1.ListIndex + 9).Select
LastLine = Range("H" & Rows.Count).End(xlUp).Row
Range("A" & LastLine & ":M" & LastLine).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark2
.TintAndShade = -0.249977111117893
.PatternTintAndShade = 0
End With
Range("M" & LastLine) = Format(Now(), "DD-MM-YYYY")
For i = 9 To 50000 ' => pour lister les numero de parc
ComboBox1.AddItem Cells(i, 4)
Next
Verrouiller_la_feuille
ComboBox1 = ""
End With
Exit Sub
Fin:
MsgBox ("ERREUR : Veuillez Recommencer")
end sub
J'ai essayé ce code (ci-dessous) pour mettre une ligne en gris avec une date en colonne M dans ma feuille 2, sauf que j'ai du mal à comprendre comment sélectionner toute la ligne en fonction du numéro de ma combobox (qui est le numéro de mes machines de la colonne D dans la feuille 2). Peux-tu m'aider de nouveau s'il te plaît ?
Merci d'avance.
Dim i As Long
On Error GoTo Fin
If InputBox("Veuillez saisir votre mot de passe") <> "0000" Then
MsgBox ("Le Mot de passe est faux")
Exit Sub
End If