Macro

Résolu/Fermé
Vive la vie! - Modifié par Vive la vie! le 19/12/2010 à 21:45
 Vive la vie! - 30 janv. 2011 à 10:19
Bonjour,

Je n'arrive pas à mettre ces formule ensemble est-ce que quelqu'un peut m'aider je sais qu'elle se répète et qu'il faut les mettre ensemble mais je n'y arrive pas...

Option Explicit

Private Sub CheckBox1_Change()
With CheckBox1
If .Value = True Then .Caption = ""
If .Value = False Then .Caption = ""
End With
Call Macro1
End Sub

Private Sub Worksheet_Change(ByVal sel As Range)
If Not Intersect([A3], sel) Is Nothing Then
Dim c As Integer
Dim l As Integer
l = 7 ' ligne des années
For c = 1 To Cells(l, Rows(1).Cells.Count).End(xlToLeft).Column
If Cells(l, c).Value <> sel.Value And Cells(l, c).Value <> "" Then
Columns(c).Hidden = True
Else
Columns(c).Hidden = False
End If
Next c
End If
End Sub



Public avant As Variant

Private Sub Worksheet_SelectionChange(ByVal sel As Range)
If sel.Column = 2 Then avant = sel.Value
End Sub

Private Sub Worksheet_Change(ByVal sel As Range)
If sel.Cells.Count = 1 And sel.Row > 10 Then
If sel.Column = 2 And avant = "" Then
Cells(sel.Row - 1, 5).Resize(5, 53).FillDown
End If
End If
End Sub





A voir également:

2 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 694
19 déc. 2010 à 22:42
bonjour

Dans cet ordre cela devrait fonctionner en supprimant l'inutile :
Option Explicit
Public avant As Variant

Private Sub Worksheet_SelectionChange(ByVal sel As Range)
If sel.Column = 2 Then avant = sel.Value
End Sub

Private Sub Worksheet_Change(ByVal sel As Range)
If sel.Cells.Count = 1 And sel.Row > 10 Then
If sel.Column = 2 And avant = "" Then
Cells(sel.Row - 1, 5).Resize(5, 53).FillDown
End If
End If

'à supprimer
'End Sub
'Private Sub Worksheet_Change(ByVal sel As Range)

If Not Intersect([A3], sel) Is Nothing Then
Dim c As Integer
Dim l As Integer
l = 7 ' ligne des années
For c = 1 To Cells(l, Rows(1).Cells.Count).End(xlToLeft).Column
If Cells(l, c).Value <> sel.Value And Cells(l, c).Value <> "" Then
Columns(c).Hidden = True
Else
Columns(c).Hidden = False
End If
Next c
End If
End Sub

Private Sub CheckBox1_Change()

'à supprimer car sert à rien
'With CheckBox1
'If .Value = True Then .Caption = ""
'If .Value = False Then .Caption = ""
'End With

Call Macro1
End Sub  
1
Vive la vie!
30 janv. 2011 à 10:19
Sorry, j'ai un peut de retard. Ca marche super bien merci beaucoup. :-)
0