Bonjour à tous,
J'ai un gros problème avec les macros et leur logique. Je souhaite faire un msgbox oui/non.
Si la réponse est "oui", la macro permet d'effacer le contenu de certaines cellules
Si la réponse est "non", la macro n'efface rien.
J'ai pour l'instant tapé le code suivant :
Sub qmax()
'
' qmax Macro
'Question à l'utilisateur
Dim Rep As Integer
Rep = MsgBox("Etes vous sur de vouloir commencer une nouvelle étude ? Ceci entraînera la suppression de toutes les données renseignées. Cliquez sur oui si vous confirmer, sinon sur non pour fermer cette fenêtre et retourner sur la page d'acceuil", vbYesNo + vbQuestion, "Nouvelle étude ???")
If Rep = vbYes Then
' Réponse +++
Sheets("Dim. fondations").Select
Range("F8:G8").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlDouble
.Weight = xlThick
.ColorIndex = 1
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlDouble
.Weight = xlThick
.ColorIndex = 1
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlDouble
.Weight = xlThick
.ColorIndex = 1
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlDouble
.Weight = xlThick
.ColorIndex = 1
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Range("F8").Select
ActiveCell.FormulaR1C1 = "Qmax = "
Range("G8").Select
ActiveCell.FormulaR1C1 = ""
Range("G8").Select
Else
' Réponse ---
Sheets("Acceuil").Select
End If
End Sub
Mais lorsque je lance cette macro, les cellules s'effacent toutes correctement mais la msgbox n'apparaît pas.
Le fichier Xcel est trop lourd pour le joindre mais si vous n'avez pas tout compris je peux essayer de répondre.
En espérant que quelqu'un puisse m'aider.
Bonne journée
J'ai un gros problème avec les macros et leur logique. Je souhaite faire un msgbox oui/non.
Si la réponse est "oui", la macro permet d'effacer le contenu de certaines cellules
Si la réponse est "non", la macro n'efface rien.
J'ai pour l'instant tapé le code suivant :
Sub qmax()
'
' qmax Macro
'Question à l'utilisateur
Dim Rep As Integer
Rep = MsgBox("Etes vous sur de vouloir commencer une nouvelle étude ? Ceci entraînera la suppression de toutes les données renseignées. Cliquez sur oui si vous confirmer, sinon sur non pour fermer cette fenêtre et retourner sur la page d'acceuil", vbYesNo + vbQuestion, "Nouvelle étude ???")
If Rep = vbYes Then
' Réponse +++
Sheets("Dim. fondations").Select
Range("F8:G8").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlDouble
.Weight = xlThick
.ColorIndex = 1
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlDouble
.Weight = xlThick
.ColorIndex = 1
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlDouble
.Weight = xlThick
.ColorIndex = 1
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlDouble
.Weight = xlThick
.ColorIndex = 1
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Range("F8").Select
ActiveCell.FormulaR1C1 = "Qmax = "
Range("G8").Select
ActiveCell.FormulaR1C1 = ""
Range("G8").Select
Else
' Réponse ---
Sheets("Acceuil").Select
End If
End Sub
Mais lorsque je lance cette macro, les cellules s'effacent toutes correctement mais la msgbox n'apparaît pas.
Le fichier Xcel est trop lourd pour le joindre mais si vous n'avez pas tout compris je peux essayer de répondre.
En espérant que quelqu'un puisse m'aider.
Bonne journée