Macro excel 2002

Bonjour,

j'ai repris une macro qui fait ça:

For ligne = 3 To 45
Sheets("saisie").Activate
Range("n" & ligne).Activate
club = ActiveCell.Value

If (club) = "" Then
End
End If

Sheets.Add.Name = club
Range("a1").Select
Application.GoTo Reference:="entête"
Selection.Copy
Sheets(club).Select
Range("a1").Select
ActiveSheet.Paste

'tri
Sheets("saisie").Activate
Selection.AutoFilter
Selection.AutoFilter Field:=6, Criteria1:=club
Range("A3:H350").Select
Selection.Copy
Sheets(club).Select
Range("A3").Select
ActiveSheet.Paste
Sheets("saisie").Activate
Selection.AutoFilter

Next

J'en déduit que si ma cellule 'n&ligne' est vide la macro se termine...

Je voudrais inclure dans cette boucle que la macro ne s'execute que si la cellule d'à coté (en lo curence 'o&ligne') est remplie...

n'étant pas un expert toute aide me sera precieuse.

D'avance merci

3 réponses

  1. Contributeur
    salut
    clic droit sur le bouton / visualiser le code
    ça ouvre le VBE ensuite coller la macro dans la fenetre de droite
    1. Comment fait on pour lier une macro a un bouton de comande sous Excel? je crois me souvenir qu'en faisant un clic droit sur le bouton et un truc du genre "affecter une macro" on pouvait, mais maintenant lorsque je clique sur le bouton avec un clic droit j'ai seulement:
      -copier
      -coller
      -propriétés
      -visualiser code
      -objet bouton de commande
      -groupe
      -ordre
      -format de controle

      si quelqu'un sait comment on fait merci d'avance.

      J'ai trouvé je mettais trompé de bouton, pour ceux qui aurrait le meme probleme il faut prendre dans la barre d'outils formulaire.
      1. Bonjour,

        si je comprends bien ! :

        Option Explicit
        
        Sub ExecuteAction()
        
            Dim Club As Variant
            Dim Ligne As Long
        
            Sheets("saisie").Select
            Range("A1").Select
            For Ligne = 3 To 45
                If ((ActiveCell.Offset(Ligne, 0).Value <> "") And _
                                    (ActiveCell.Offset(Ligne, 1).Value <> "")) Then
                    Club = ActiveCell.Offset(Ligne, 0).Value
                    Sheets.Add.Name = Club
                    Range("A1").Select
                    Application.GoTo Reference:="entête"
                    Selection.Copy
                    Sheets(Club).Select
                    Range("A1").Select
                    ActiveSheet.Paste
                
                    ' tri
                    Sheets("saisie").Select
                    Selection.AutoFilter
                    Selection.AutoFilter Field:=6, Criteria1:=Club
                    Range("A3:H350").Select
                    Selection.Copy
                    Sheets(Club).Select
                    Range("A3").Select
                    ActiveSheet.Paste
                    Sheets("saisie").Select
                End If
            Next Ligne
            
        End Sub