Bonjour,
J'ai une petit exercice à faire
J'ai un petit soucis au niveau des couleurs à remplir ( question 3 ), je ne sais pas trop comment le faire avec des macros. et lorsque les informations copié se mette avant la dernière ligne et pas à la dernière. Je débute avec les macros.
Merci par avance de votre aide
Sub Transposer()
'afficher les cases vides en rouges'
If Sheets("Formulaire").Range("B1") = "" Then Sheets("Formulaire").Range("B1").Interior.Color = RGB(255, 0, 0)
If Sheets("Formulaire").Range("B2") = "" Then Sheets("Formulaire").Range("B2").Interior.Color = RGB(255, 0, 0)
If Sheets("Formulaire").Range("B3") = "" Then Sheets("Formulaire").Range("B3").Interior.Color = RGB(255, 0, 0)
If Sheets("Formulaire").Range("B4") = "" Then Sheets("Formulaire").Range("B4").Interior.Color = RGB(255, 0, 0)
If Sheets("Formulaire").Range("B5") = "" Then Sheets("Formulaire").Range("B5").Interior.Color = RGB(255, 0, 0)
If Sheets("Formulaire").Range("B1") = "" Or Sheets("Formulaire").Range("B2") = "" Or Sheets("Formulaire").Range("B3") = "" Or Sheets("Formulaire").Range("B4") = "" Or Sheets("Formulaire").Range("B5") = "" Then MsgBox ("Champs incomplet")
Else
MsgBox ("Enrengistrement effectue")
Sheets("Formulaire").Range("B1:B5").Copy
Sheets("Base de Donnee").Cells(Sheets("Base de Donnee").UsedRange.Rows.Count + 1, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
Fasle, Transpose:=True
End If
'reinisialiser'
Sheets("Formulaire").Range("B1:B5").Clear
End Sub
J'ai une petit exercice à faire
J'ai un petit soucis au niveau des couleurs à remplir ( question 3 ), je ne sais pas trop comment le faire avec des macros. et lorsque les informations copié se mette avant la dernière ligne et pas à la dernière. Je débute avec les macros.
Merci par avance de votre aide
Sub Transposer()
'afficher les cases vides en rouges'
If Sheets("Formulaire").Range("B1") = "" Then Sheets("Formulaire").Range("B1").Interior.Color = RGB(255, 0, 0)
If Sheets("Formulaire").Range("B2") = "" Then Sheets("Formulaire").Range("B2").Interior.Color = RGB(255, 0, 0)
If Sheets("Formulaire").Range("B3") = "" Then Sheets("Formulaire").Range("B3").Interior.Color = RGB(255, 0, 0)
If Sheets("Formulaire").Range("B4") = "" Then Sheets("Formulaire").Range("B4").Interior.Color = RGB(255, 0, 0)
If Sheets("Formulaire").Range("B5") = "" Then Sheets("Formulaire").Range("B5").Interior.Color = RGB(255, 0, 0)
If Sheets("Formulaire").Range("B1") = "" Or Sheets("Formulaire").Range("B2") = "" Or Sheets("Formulaire").Range("B3") = "" Or Sheets("Formulaire").Range("B4") = "" Or Sheets("Formulaire").Range("B5") = "" Then MsgBox ("Champs incomplet")
Else
MsgBox ("Enrengistrement effectue")
Sheets("Formulaire").Range("B1:B5").Copy
Sheets("Base de Donnee").Cells(Sheets("Base de Donnee").UsedRange.Rows.Count + 1, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
Fasle, Transpose:=True
End If
'reinisialiser'
Sheets("Formulaire").Range("B1:B5").Clear
End Sub
Exercice 1 | ||||||
1. Créez une macro qui "enregistre" les données d'un formulaire à la suite d'un tableau comme dans l'exemple. | ||||||
2. Supprimer les données du formulaire à la fin de l'enregistrement. Afficher éventuellement un message de réussite. | ||||||
3. Si une cellule est vide lors de l'enregistrement, colorier le fond de la case en rouge, afficher un erreur (pop up, à côté, etc.) et ne pas enregistrer la donnée en cours. | ||||||
4. Affecter la Macro à un bouton enregistrer. | ||||||
Pièces jointes
Dernière édition: