affichage oubli en direct

  • Initiateur de la discussion Initiateur de la discussion tactic6
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

tactic6

XLDnaute Impliqué
Re le forum
il m'est venu une idée et je sens que je vais me faire un peu pourrir 😀😀

Voila:

en visualisant tous les fichiers postés par les exceliens il y a beaucoup de macro qui renvoie un message d'erreur quand un oubli s'est glissé sur la feuille de calcul

Ma petite question 🙂

Est il possible que sur la feuille excel (celle ou on travail) il y ait une case qui est rouge quand toutes les conditions ne sont pas reuni et qui soit verte quand tout est ok et ceci en temps reel tant qu ' a faire
et cerise sur le gateau 😀😀😀 une liste des oublis (quand il y en a) sur les cellules voisines
 
Re : affichage oubli en direct

Bonjour Tactic,

Oui ce serait possible avec des mises en forme conditionnelles et quelques formules appropriées....Rien d'extravagant dans ta demande....Pas de pourrissement envisagé pour ton cas.

A bientôt
 
Re : affichage oubli en direct

Cool

un exemple dur dur ma macro en contient un wagon (de condition)

voici un morceau:
Code:
Sub Enregistrer()
' réalisée par fred6200
Dim tablo(1, 6)
Dim tabloErreur As Variant
Dim tabloMsg As Variant
Dim tabloFacture As Variant
Dim msg As String
Dim Msg1 As String
Dim Msg2 As String
Dim F1  As Worksheet
Dim F2 As Worksheet
Dim Derli As Long
Dim i As Integer
If ActiveSheet.Range("g6").Value = "DEVIS N°" Then
    MsgBox " cette feuille est un devis, vous ne pouvez l'enregistrer"
    Else
 'initialisation des variables
Set F1 = Sheets("Facture")
Set F2 = Sheets("Feuil1")
 ' affectaction des valeurs de cellules au tableau
tablo(1, 1) = F1.[C12]
tablo(1, 2) = F1.[G5]
tablo(1, 3) = F1.[J6]
tablo(1, 4) = F1.[G8]
tablo(1, 5) = F1.[H12]
tablo(1, 6) = F1.[J59]
'Gestion des cellules non renseignées
tabloErreur = Array("", "Date", "")
tabloMsg = Array("nom", "date", "numéro")
Msg1 = "Il n'y a pas de "
Msg2 = ", la facture ne peut pas être enregistrée."
'boucle pour l'affichage des cellules non remplies
For i = 3 To 1 Step -1
   If tablo(1, i) = tabloErreur(i) Then msg = msg & vbLf & Msg1 & tabloMsg(i) & Msg2
Next i
'si une condition remplie, affichage du message d'erreur et fin de Sub
If Not msg = "" Then MsgBox msg: Exit Sub
' controle ligne TVA
For i = 15 To 52
  If F1.Cells(i, "J").Value <> "" And _
      F1.Cells(i, "K").Value = "" Then _
         MsgBox "la cellule " & Cells(i, "K").Address & " est vide.": End
Next i
'Recherche  de la dernière ligne de l'onglet "Feuil1"
Derli = F2.Columns("A").Find("*", , , , , xlPrevious).Row ' + 1

'Gestion des doublons
'Gestion des doublons
tabloFacture = F2.Range("C1:C" & Derli).Value
'si doublon, affichage du message et fin de Sub
If Not IsError(Application.Match(tablo(1, 3), tabloFacture, 0)) Then _
   MsgBox "Le numéro de la facture """ & tablo(1, 3) & """ existe déja!": Exit Sub

'insertion des données sur Feuil1
Derli = Derli + 1
F2.Cells(Derli, "I").Value = Now
F2.Range("A" & Derli & ":F" & Derli).Value = tablo

'Const DossierSauvegarde As String = "D:\Données\Sauvegarde\Relevé\" ' à modifier selon l'emplacement de ton dossier
Const DossierSauvegarde2 As String = "D:\Données\Sauvegarde\Facture\"
Const DossierSauvegarde3 As String = "E:\Sauvegarde\"
Dim AWbk As Workbook
Dim LaFin As String
Dim Ext As String
Dim NomClasseur As String
Dim Nume As String
Set AWbk = ActiveWorkbook

'nom du classeur sans l'extension
NomClasseur = Left(AWbk.Name, Len(AWbk.Name) - InStr(1, StrReverse(AWbk.Name), "."))
'extension
Ext = Right(AWbk.Name, InStr(1, StrReverse(AWbk.Name), "."))
'date et heure
'LaFin = Format(Now, "dd-mm-yy hh-mm-ss")
'on définit ce que sera Nomfichier
'ce  sera la cellule G3 + H3 de la feuille nommée Facture
Nomfichier = Sheets("Facture").Range("G6") & " " & Sheets("Facture").Range("J6") & " " & Sheets("Facture").Range("g8")
'LaFin = Cells("H8" & "J6").Value
'enregistrement des copies
Nume = [Facture!J6]  ' vérifie j'ai mis J6
Sheets("Feuil1").Copy
' 'ActiveWorkbook.SaveAs DossierSauvegarde & NomClasseur & " " & LaFin & Ext ', xlExcel8 ' tu peux supprimer xlExcel8
ActiveWorkbook.SaveAs DossierSauvegarde & Nomfichier & " " & Ext  ', xlExcel8 ' tu peux supprimer xlExcel8
ActiveWorkbook.Close
Nume = [Facture!J6]  ' vérifie j'ai mis J6
Sheets("Facture").Copy
ActiveWorkbook.SaveAs DossierSauvegarde2 & Nomfichier & " " & Ext ', xlExcel8  ' tu peux supprimer xlExcel8
ActiveWorkbook.SaveAs DossierSauvegarde3 & Nomfichier & " " & Ext

' "D:\Données\Boulangerie\Sauvegarde\Facture" & Fichier, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
ActiveWorkbook.Close
If MsgBox("Voulez vous Imprimer cette Facture ?", vbYesNo) = vbYes Then _
   Beep
ActiveSheet.PageSetup.PrintArea = "$B$2:$K$63"
        'ActiveSheet.PrintOut
            ActiveSheet.PrintPreview
'    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Preview:=True, Collate:=True
'If MsgBox("Ouvrir le dossier de sauvegarde ?", vbYesNo) = vbYes Then _
   Shell "C:\WINDOWS\EXPLORER.EXE /n,/e," & ""D:\Données\", vbNormalFocus
End If
End Sub

en fait je pense qu'a chaque correspond pratiquement ce type de message non ?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Formule en VBA
Réponses
3
Affichages
416
Retour