Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Désactiver As Boolean

3 réponses
Avatar
Jean-Paul V
Bonjour à tous

J’ai ces 2 macros dans le code d’une feuille

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Désactiver As Boolean
If Désactiver = True Then
Dim Rg As Range
''mettre en haut à droite la cellule sélectionnée
Set Rg = ActiveCell
If Rg.Column = 1 Then
Application.Goto Reference:=[Rg], Scroll:=True
ElseIf Rg.Column = 5 Then
[Rg].Select
ActiveCell.Offset(0, -4).Select
End If
Set Rg = Range(ActiveWindow.VisibleRange.Address).Offset(1)
ActiveSheet.Shapes("Image 2").Left = Rg.Left
ActiveSheet.Shapes("Image 2").Top = Rg.Top
Set Rg = Range(ActiveWindow.VisibleRange.Address).Offset(1, 4)
ActiveSheet.Shapes("Image 3").Left = Rg.Left
ActiveSheet.Shapes("Image 3").Top = Rg.Top
Set Rg = Nothing
ElseIf Désactiver = False Then
Exit Sub
End If
End Sub

Sub OUINON()
Dim Désactiver As Boolean
If Désactiver = True Then
Désactiver = False
ElseIf Désactiver = False Then
Désactiver = True
End If
End Sub

L’exécution de la macro OUINON a pour but de désactiver si on le souhaite la
première macro.Cela ne marche pas comment corriger les 2 macros?

@+ j’espère

--
Jean-Paul V

3 réponses

Avatar
JB
Bonjour,

La variable 'Désactiver' doit être définie en dehors des procédures

Dim Désactiver As Boolean

JB

On 6 fév, 06:54, Jean-Paul V
wrote:
Bonjour à tous

J'ai ces 2 macros dans le code d'une feuille

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Désactiver As Boolean
If Désactiver = True Then
Dim Rg As Range
''mettre en haut à droite la cellule sélectionnée
Set Rg = ActiveCell
If Rg.Column = 1 Then
Application.Goto Reference:=[Rg], Scroll:=True
ElseIf Rg.Column = 5 Then
[Rg].Select
ActiveCell.Offset(0, -4).Select
End If
Set Rg = Range(ActiveWindow.VisibleRange.Address).Offset(1)
ActiveSheet.Shapes("Image 2").Left = Rg.Left
ActiveSheet.Shapes("Image 2").Top = Rg.Top
Set Rg = Range(ActiveWindow.VisibleRange.Address).Offset(1, 4)
ActiveSheet.Shapes("Image 3").Left = Rg.Left
ActiveSheet.Shapes("Image 3").Top = Rg.Top
Set Rg = Nothing
ElseIf Désactiver = False Then
Exit Sub
End If
End Sub

Sub OUINON()
Dim Désactiver As Boolean
If Désactiver = True Then
Désactiver = False
ElseIf Désactiver = False Then
Désactiver = True
End If
End Sub

L'exécution de la macro OUINON a pour but de désactiver si on le souha ite la
première macro.Cela ne marche pas comment corriger les 2 macros?

@+ j'espère

--
Jean-Paul V


Avatar
JB
La procédure OUINON peut être simplifiée:

Dim Désactiver As Boolean
Sub OUINON()
Désactiver = Not Désactiver
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox Désactiver
OUINON
End Sub

JB


On 6 fév, 07:16, JB wrote:
Bonjour,

La variable 'Désactiver' doit être définie en dehors des procédure s

Dim Désactiver As Boolean

JB

On 6 fév, 06:54, Jean-Paul V
wrote:



Bonjour à tous

J'ai ces 2 macros dans le code d'une feuille

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Désactiver As Boolean
If Désactiver = True Then
Dim Rg As Range
''mettre en haut à droite la cellule sélectionnée
Set Rg = ActiveCell
If Rg.Column = 1 Then
Application.Goto Reference:=[Rg], Scroll:=True
ElseIf Rg.Column = 5 Then
[Rg].Select
ActiveCell.Offset(0, -4).Select
End If
Set Rg = Range(ActiveWindow.VisibleRange.Address).Offset(1)
ActiveSheet.Shapes("Image 2").Left = Rg.Left
ActiveSheet.Shapes("Image 2").Top = Rg.Top
Set Rg = Range(ActiveWindow.VisibleRange.Address).Offset(1, 4)
ActiveSheet.Shapes("Image 3").Left = Rg.Left
ActiveSheet.Shapes("Image 3").Top = Rg.Top
Set Rg = Nothing
ElseIf Désactiver = False Then
Exit Sub
End If
End Sub

Sub OUINON()
     Dim Désactiver As Boolean
     If Désactiver = True Then
     Désactiver = False
     ElseIf Désactiver = False Then
     Désactiver = True
     End If
 End Sub

L'exécution de la macro OUINON a pour but de désactiver si on le sou haite la
première macro.Cela ne marche pas comment corriger les 2 macros?

  @+ j'espère

--
Jean-Paul V- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
Jean-Paul V
Merci JB ça marche, bonne journée
--
Jean-Paul V


"Jean-Paul V" wrote:

Bonjour à tous

J’ai ces 2 macros dans le code d’une feuille

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Désactiver As Boolean
If Désactiver = True Then
Dim Rg As Range
''mettre en haut à droite la cellule sélectionnée
Set Rg = ActiveCell
If Rg.Column = 1 Then
Application.Goto Reference:=[Rg], Scroll:=True
ElseIf Rg.Column = 5 Then
[Rg].Select
ActiveCell.Offset(0, -4).Select
End If
Set Rg = Range(ActiveWindow.VisibleRange.Address).Offset(1)
ActiveSheet.Shapes("Image 2").Left = Rg.Left
ActiveSheet.Shapes("Image 2").Top = Rg.Top
Set Rg = Range(ActiveWindow.VisibleRange.Address).Offset(1, 4)
ActiveSheet.Shapes("Image 3").Left = Rg.Left
ActiveSheet.Shapes("Image 3").Top = Rg.Top
Set Rg = Nothing
ElseIf Désactiver = False Then
Exit Sub
End If
End Sub

Sub OUINON()
Dim Désactiver As Boolean
If Désactiver = True Then
Désactiver = False
ElseIf Désactiver = False Then
Désactiver = True
End If
End Sub

L’exécution de la macro OUINON a pour but de désactiver si on le souhaite la
première macro.Cela ne marche pas comment corriger les 2 macros?

@+ j’espère

--
Jean-Paul V