Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Notifications excel dans une feuille récapitulative

Zifox

XLDnaute Nouveau
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.

Merci d'avance
 

Pièces jointes

  • Classeur1.xlsm
    26.5 KB · Affichages: 8
Solution
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"...

Zifox

XLDnaute Nouveau
en évitant de lancer la macro à chaque activation
juste avec un bouton
et cette macro doit d'abord effacer le tableau
VB:
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

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
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…