Problème pour combiner deux worksheet_selectionchange

  • Initiateur de la discussion Initiateur de la discussion dadahorse91
  • 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 !

D

dadahorse91

Guest
Bonjour je n'arrive pas a combiner ces deux codes vba

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Or Target.Column > 11 Or Target.Row < 2 Then Exit Sub
If Fait = False Then
If Target = "" Then
Target = "X"
With Sheets("Impression")
Derli = .Range("A65536").End(xlUp).Row + 1
Range("B" & Target.Row & ":I" & Target.Row).Copy .Range("A" & Derli)
End With
Rem changement de cellule pour pouvoir corriger
Fait = True
Target.Offset(, 1).Select
Fait = False
Else
Target = ""
With Sheets("Impression")
Derli = .Range("A65536").End(xlUp).Row + 1
For Each cell In .Range("K2:K" & Derli)
If Target.Offset(, 1) = cell Then cell.EntireRow.Delete
Next
End With
Fait = True
Target.Offset(, 1).Select
Fait = False
End If
End If
End Sub

***************************************************************

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Or Target.Column > 13 Or Target.Row < 2 Then Exit Sub
If Fait = False Then
If Target = "" Then
Target = "X"
With Sheets("Impression")
Derli = .Range("A65536").End(xlUp).Row + 1
Range("B" & Target.Row & ":I" & Target.Row).Copy .Range("J" & Derli)
End With
Rem changement de cellule pour pouvoir corriger
Fait = True
Target.Offset(, 1).Select
Fait = False
Else
Target = ""
With Sheets("Impression")
Derli = .Range("A65536").End(xlUp).Row + 1
For Each cell In .Range("M2:M" & Derli)
If Target.Offset(, 1) = cell Then cell.EntireRow.Delete
Next
End With
Fait = True
Target.Offset(, 1).Select
Fait = False
End If
End If
End Sub

Merci d'avance de votre aide.
 
Re : Problème pour combiner deux worksheet_selectionchange

Bonsoir dadahorse91, bienvenue sur XLD,

Vous pouvez combiner autant de codes que vous voulez à condition de ne pas les bloquer par des tests avec Exit Sub.

Voici ce que ça donne, sans avoir testé la teneur de vos codes bien sûr :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Count = 1 And Target.Column < 12 And Target.Row > 1 Then
If Fait = False Then
If Target = "" Then
Target = "X"
With Sheets("Impression")
Derli = .Range("A65536").End(xlUp).Row + 1
Range("B" & Target.Row & ":I" & Target.Row).Copy .Range("A" & Derli)
End With
Rem changement de cellule pour pouvoir corriger
Fait = True
Target.Offset(, 1).Select
Fait = False
Else
Target = ""
With Sheets("Impression")
Derli = .Range("A65536").End(xlUp).Row + 1
For Each cell In .Range("K2:K" & Derli)
If Target.Offset(, 1) = cell Then cell.EntireRow.Delete
Next
End With
Fait = True
Target.Offset(, 1).Select
Fait = False
End If
End If
End If

If Target.Count = 1 And Target.Column < 14 And Target.Row > 1 Then
If Fait = False Then
If Target = "" Then
Target = "X"
With Sheets("Impression")
Derli = .Range("A65536").End(xlUp).Row + 1
Range("B" & Target.Row & ":I" & Target.Row).Copy .Range("J" & Derli)
End With
Rem changement de cellule pour pouvoir corriger
Fait = True
Target.Offset(, 1).Select
Fait = False
Else
Target = ""
With Sheets("Impression")
Derli = .Range("A65536").End(xlUp).Row + 1
For Each cell In .Range("M2:M" & Derli)
If Target.Offset(, 1) = cell Then cell.EntireRow.Delete
Next
End With
Fait = True
Target.Offset(, 1).Select
Fait = False
End If
End If
End If

End Sub
A+
 
Re : Problème pour combiner deux worksheet_selectionchange

Bonsoir dadahorse91, bienvenue sur XLD,

Vous pouvez combiner autant de codes que vous voulez à condition de ne pas les bloquer par des tests avec Exit Sub.

Voici ce que ça donne, sans avoir testé la teneur de vos codes bien sûr :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Count = 1 And Target.Column < 12 And Target.Row > 1 Then
If Fait = False Then
If Target = "" Then
Target = "X"
With Sheets("Impression")
Derli = .Range("A65536").End(xlUp).Row + 1
Range("B" & Target.Row & ":I" & Target.Row).Copy .Range("A" & Derli)
End With
Rem changement de cellule pour pouvoir corriger
Fait = True
Target.Offset(, 1).Select
Fait = False
Else
Target = ""
With Sheets("Impression")
Derli = .Range("A65536").End(xlUp).Row + 1
For Each cell In .Range("K2:K" & Derli)
If Target.Offset(, 1) = cell Then cell.EntireRow.Delete
Next
End With
Fait = True
Target.Offset(, 1).Select
Fait = False
End If
End If
End If

If Target.Count = 1 And Target.Column < 14 And Target.Row > 1 Then
If Fait = False Then
If Target = "" Then
Target = "X"
With Sheets("Impression")
Derli = .Range("A65536").End(xlUp).Row + 1
Range("B" & Target.Row & ":I" & Target.Row).Copy .Range("J" & Derli)
End With
Rem changement de cellule pour pouvoir corriger
Fait = True
Target.Offset(, 1).Select
Fait = False
Else
Target = ""
With Sheets("Impression")
Derli = .Range("A65536").End(xlUp).Row + 1
For Each cell In .Range("M2:M" & Derli)
If Target.Offset(, 1) = cell Then cell.EntireRow.Delete
Next
End With
Fait = True
Target.Offset(, 1).Select
Fait = False
End If
End If
End If

End Sub
A+

Merci de votre aide mais par contre comment je fais pour exécuter la formule dans la colonne J parce que l'exemple ci-dessous est pour la colonne A

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Or Target.Column > 1 Or Target.Row < 2 Then Exit Sub
If Fait = False Then
If Target = "" Then
Target = "fait"
With Sheets("AA")
Derli = .Range("A65536").End(xlUp).Row + 1
Range("B" & Target.Row & ":T" & Target.Row).Copy .Range("A" & Derli)
End With
Rem changement de cellule pour pouvoir corriger
Fait = True
Target.Offset(, 1).Select
Fait = False
Else
Target = ""
With Sheets("AA")
Derli = .Range("A65536").End(xlUp).Row + 1
For Each cell In .Range("A2:A" & Derli)
If Target.Offset(, 1) = cell Then cell.EntireRow.Delete
Next
End With
Fait = True
Target.Offset(, 1).Select
Fait = False
End If
End If
 
Re : Problème pour combiner deux worksheet_selectionchange

Re,

Vous avez demandé de combiner les codes, je vous ai dit comment faire.

Maintenant pour la mise au point de vos codes c'est une autre histoire et c'est hors sujet.

Revoyez tout ça en prenant votre temps et si vous bloquez sur un point particulier ouvrez une autre discussion.

En joignant un fichier pour bien exposer le problème.

A+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
15
Affichages
791
Retour