Programme avec cellule comme variable

Résolu
zawaza Messages postés 10 Statut Membre -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour ,
Je voudrais creer un programme ayant 3 variables i une cellule (A1 , E5, .. ) et j, k deux colonnes.
Et pouvoir faire marcher ce programme grace a un bouton sur la spreadsheet ...
J'ai realiser cela :
mais un message d'erreur s'affiche ...."Argument Typy mismatch"

Public Sub ButtonPrint_Click()
Call Func(C6, B, B)
End Sub


Public Function Func(i As String, j As String, k As String)
If Sheets("PRINT and PDF").Range("i").Value = 0 Then
    Sheets("Mainline Progress Tab").Select
    Columns("j:k").Select
    Selection.EntireColumn.Hidden = True
End If
End Function


Merci d'avance pour votre aide !
Sarah

1 réponse

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    vu les declarations de variables de votre function:

    Public Sub ButtonPrint_Click()
        Call Func("C6", "B", "B")
    End Sub
    
    Public Function Func(i As String, j As String, k As String)
        If Sheets("PRINT and PDF").Range(i).Value = 0 Then
            Sheets("Mainline Progress Tab").Columns(j & ":" & k).EntireColumn.Hidden = True
        End If
    End Function
    
    0
    1. zawaza Messages postés 10 Statut Membre
       
      C'est parfait !! Merci beaucoup !
      0
    2. zawaza Messages postés 10 Statut Membre
       
      Ah , j'ai une autre question en fait ( toujours un probleme de synthaxe, que je n'arrive pas a resoudre avec internet ...)
      Si je voulais remplacer Le remplissage de la case , par une check box , quelle doit etre la synthaxe ?

      J'avais pense :

      Public Sub ButtonPrint_Click()
          Call Func("Checkbox22", "B", "B")
      End Sub
      
      Public Function Func(i As CheckBox, j As String, k As String)
          If i.Value = True Then
              Sheets("Mainline Progress Tab").Columns(j & ":" & k).EntireColumn.Hidden = True
          End If
      End Function


      Mais toujours la meme erreur ...
      0
      1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > zawaza Messages postés 10 Statut Membre
         
        Bonjour,

        Checkbox sur feuille ou dans userform ???
        0
    3. zawaza Messages postés 10 Statut Membre
       
      Sur Feuille

      Je voudrais que si je coche la Checkbox, la colonne associee soit cachee dans SHEET2, j'ai essaye ca , mais toujours un pbm ... ^^

      Public Sub ButtonPrint_Click()
      Call Func("B", "B", "B") ( pour checkboxB cacher la colonne B )
      End Sub


      Public Function Func(i As String, j As String, k As String)
      If ("checkbox" & i).Value = True Then
      Sheets("SHEET2)").Columns(j & ":" & k).EntireColumn.Hidden = True
      End If
      End Function

      Merci beaucoup pour votre aide !
      0
      1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > zawaza Messages postés 10 Statut Membre
         
        Re,

        Public Sub ButtonPrint_Click()
            Call Func("B", "B", "B")            ' (pour checkboxB cacher la colonne B )
        End Sub
        
        Public Function Func(i As String, j As String, k As String)
            With Sheets("SHEET2")
                If .OLEObjects("CheckBox" & i).Object.Value = True Then
                    .Columns(j & ":" & k).EntireColumn.Hidden = True
                End If
            End With
        End Function
        0