OVH Cloud OVH Cloud

Problème de code

3 réponses
Avatar
YeTi
Bonjour,

J'aimerais, dans le code ci-dessous, que la feuille "Notes" ne s'ouvre pas
pendant l'exécution de la macro, mais je n'y arrive pas sans erreur. Voici le
code original:

Private Sub Image1_Click()
Sheets("Notes").Visible = True
'On ajoute les branches entrées manuellement
For i = 1 To 6
If Me.Controls("TextBox" & i) <> "" Then
Sheets("Notes").Select
Cells(i + 33, 1).Select
ActiveCell.FormulaR1C1 = Me.Controls("TextBox" & i).Text
End If
Next i

'On supprime les cases qui n'ont pas été cochées
For i = 1 To 24
If Not Me.Controls("CheckBox" & i) Then
Worksheets("Notes").Select
Rows(i + 3).Select
Selection.ClearContents
Selection.Interior.ColorIndex = xlNone
End If
Next i
End Sub


Voici une de mes tentatives (ne marche pas):

Private Sub Image1_Click()
'On ajoute les branches entrées manuellement
For i = 1 To 6
If Me.Controls("TextBox" & i) <> "" Then
Workheets("Notes").Cells(i + 33, 1) _
.FormulaR1C1 = Me.Controls("TextBox" & i).Text
End If
Next i

'On supprime les cases qui n'ont pas été cochées
For i = 1 To 24
If Not Me.Controls("CheckBox" & i) Then
Worksheets("Notes").Rows(i + 3).ClearContents
End If
Next i
End Sub


Merci!

3 réponses

Avatar
Jac
Salut Yeti,
si "que la feuille "Notes" ne s'ouvre pas pendant l'exécution de la macro"
signifie "ne soit pas affichée, alors tu peux ajouter
"Application.ScreenUpdating = False" au début de ta macro.

Private Sub Image1_Click()
Application.ScreenUpdating = False
Sheets("Notes").Visible = True
...

Jac

"YeTi" a écrit dans le message de news:

Bonjour,

J'aimerais, dans le code ci-dessous, que la feuille "Notes" ne s'ouvre pas
pendant l'exécution de la macro, mais je n'y arrive pas sans erreur. Voici
le
code original:

Private Sub Image1_Click()
Sheets("Notes").Visible = True
'On ajoute les branches entrées manuellement
For i = 1 To 6
If Me.Controls("TextBox" & i) <> "" Then
Sheets("Notes").Select
Cells(i + 33, 1).Select
ActiveCell.FormulaR1C1 = Me.Controls("TextBox" & i).Text
End If
Next i

'On supprime les cases qui n'ont pas été cochées
For i = 1 To 24
If Not Me.Controls("CheckBox" & i) Then
Worksheets("Notes").Select
Rows(i + 3).Select
Selection.ClearContents
Selection.Interior.ColorIndex = xlNone
End If
Next i
End Sub


Voici une de mes tentatives (ne marche pas):

Private Sub Image1_Click()
'On ajoute les branches entrées manuellement
For i = 1 To 6
If Me.Controls("TextBox" & i) <> "" Then
Workheets("Notes").Cells(i + 33, 1) _
.FormulaR1C1 = Me.Controls("TextBox" & i).Text
End If
Next i

'On supprime les cases qui n'ont pas été cochées
For i = 1 To 24
If Not Me.Controls("CheckBox" & i) Then
Worksheets("Notes").Rows(i + 3).ClearContents
End If
Next i
End Sub


Merci!


Avatar
michdenis
Bonjour Yeti,

As-tu essayé quelque chose comme ceci :
la procédure va s'exécuter sans afficher la feuille "Notes"

'-----------------------------
Private Sub Image1_Click()

With Sheets("Notes")
'On ajoute les branches entrées manuellement
For i = 1 To 6
If Me.Controls("TextBox" & i) <> "" Then
.Cells(i + 33, 1).FormulaR1C1 = Me.Controls("TextBox" & i).Text
End If
Next i

'On supprime les cases qui n'ont pas été cochées
For i = 1 To 24
If Not Me.Controls("CheckBox" & i) Then
With .Rows(i + 3)
.ClearContents
.Interior.ColorIndex = xlNone
End With
End If
Next i
End With
End Sub
'-----------------------------


Salutations!






"YeTi" a écrit dans le message de news:
Bonjour,

J'aimerais, dans le code ci-dessous, que la feuille "Notes" ne s'ouvre pas
pendant l'exécution de la macro, mais je n'y arrive pas sans erreur. Voici le
code original:

Private Sub Image1_Click()
Sheets("Notes").Visible = True
'On ajoute les branches entrées manuellement
For i = 1 To 6
If Me.Controls("TextBox" & i) <> "" Then
Sheets("Notes").Select
Cells(i + 33, 1).Select
ActiveCell.FormulaR1C1 = Me.Controls("TextBox" & i).Text
End If
Next i

'On supprime les cases qui n'ont pas été cochées
For i = 1 To 24
If Not Me.Controls("CheckBox" & i) Then
Worksheets("Notes").Select
Rows(i + 3).Select
Selection.ClearContents
Selection.Interior.ColorIndex = xlNone
End If
Next i
End Sub


Voici une de mes tentatives (ne marche pas):

Private Sub Image1_Click()
'On ajoute les branches entrées manuellement
For i = 1 To 6
If Me.Controls("TextBox" & i) <> "" Then
Workheets("Notes").Cells(i + 33, 1) _
.FormulaR1C1 = Me.Controls("TextBox" & i).Text
End If
Next i

'On supprime les cases qui n'ont pas été cochées
For i = 1 To 24
If Not Me.Controls("CheckBox" & i) Then
Worksheets("Notes").Rows(i + 3).ClearContents
End If
Next i
End Sub


Merci!
Avatar
JLuc
YeTi avait soumis l'idée :
Bonjour,

J'aimerais, dans le code ci-dessous, que la feuille "Notes" ne s'ouvre pas
pendant l'exécution de la macro, mais je n'y arrive pas sans erreur. Voici le
code original:

Private Sub Image1_Click()
Sheets("Notes").Visible = True
'On ajoute les branches entrées manuellement
For i = 1 To 6
If Me.Controls("TextBox" & i) <> "" Then
Sheets("Notes").Select
Cells(i + 33, 1).Select
ActiveCell.FormulaR1C1 = Me.Controls("TextBox" & i).Text
End If
Next i

'On supprime les cases qui n'ont pas été cochées
For i = 1 To 24
If Not Me.Controls("CheckBox" & i) Then
Worksheets("Notes").Select
Rows(i + 3).Select
Selection.ClearContents
Selection.Interior.ColorIndex = xlNone
End If
Next i
End Sub


Voici une de mes tentatives (ne marche pas):

Private Sub Image1_Click()
'On ajoute les branches entrées manuellement
For i = 1 To 6
If Me.Controls("TextBox" & i) <> "" Then
Workheets("Notes").Cells(i + 33, 1) _
.FormulaR1C1 = Me.Controls("TextBox" & i).Text
End If
Next i

'On supprime les cases qui n'ont pas été cochées
For i = 1 To 24
If Not Me.Controls("CheckBox" & i) Then
Worksheets("Notes").Rows(i + 3).ClearContents
End If
Next i
End Sub

Autre solution :

Private Sub Image1_Click()
'Sheets("Notes").Visible = True
'On ajoute les branches entrées manuellement
For i = 1 To 6
If Me.Controls("TextBox" & i) <> "" Then
' Sheets("Notes").Select
' Cells(i + 33, 1).Select
Sheets("Notes").Cells(i + 33, 1).FormulaR1C1 = _
Me.Controls("TextBox" & i).Text
End If
Next i


Merci!


De rien

--
JLuc