Gestion feuille excel

Eric -  
GermPeru Messages postés 175 Statut Membre -
Bonjour,

Débutant en programmation, je m'atèle actuellement à développé pour un collègue une petite application afin de facilité son travail.
Dans cette application j'utilise plusieurs classeur excel.
Dans l'un de ces classeurs j'ai besoin de lire deux feuilles différentes.
Une pour les options dites communes au différentes machines et une autre qui diffèrent selon la taille de la machine.

J'ai donc testé cette solution pour choisir la deuxième feuille voulu mais ça ne fonctionne pas quelqu'un aurait il une idée ?

'ouverture classeur

Dim xls As Excel.Application
Dim OF2 As Excel.Workbook
Dim ListeKit As Excel.Workbook
Dim AUTO As Excel.Worksheet
Dim Kitcommun As Excel.Worksheet
Dim KitSal As Excel.Worksheet

xls = CreateObject("Excel.Application")
OF2 = xls.Workbooks.Open(My.Settings.cheminOF)
AUTO = OF2.Worksheets(1)
ListeKit = xls.Workbooks.Open(My.Settings.cheminKit)
Kitcommun = ListeKit.Worksheets(1)

If Capacité.Text = "1m³" Then 'feuille excel corresepondant à la taille'
KitSal = ListeKit.Worksheets(2)
ElseIf Capacité.Text = "1,5m³" Then
KitSal = ListeKit.Worksheets(3)
ElseIf Capacité.Text = "2m³" Then
KitSal = ListeKit.Worksheets(4)
ElseIf Capacité.Text = "3m³" Then
KitSal = ListeKit.Worksheets(5)
ElseIf Capacité.Text = "4m³" Then
KitSal = ListeKit.Worksheets(6)
ElseIf Capacité.Text = "5m³" Then
KitSal = ListeKit.Worksheets(7)
ElseIf Capacité.Text = "6m³" Then
KitSal = ListeKit.Worksheets(8)
ElseIf Capacité.Text = "7m³" Then
KitSal = ListeKit.Worksheets(9)
ElseIf Capacité.Text = "8m³" Then
KitSal = ListeKit.Worksheets(10)
Else
MsgBox("Veuillez renseigner la capacité.", MsgBoxStyle.OkOnly, "Erreur")
OF2.Close(False)
ListeKit.Close(False)
xls.Quit()
Exit Sub
End If

1 réponse

  1. GermPeru Messages postés 175 Statut Membre
     
    Bonjour,

    Suis pas un expert mais je me sers de cette fonction pour chercher le nom d' une feuille et la déprotéger:

    Function RechercheUnProtect(WbSource As Workbook, Recherche1 As String) As Boolean
    'Boucle dans les feuilles du classeur
    Dim Feui As Worksheet
    With WbSource
        For Each Feui In Worksheets
            If InStr(1, Feui.Name, Recherche1) > 0 Then
                If Feui.ProtectContents = True Then
                    Feui.Unprotect "1234"
                    RechercheUnProtect = True
                    Exit Function
                    Else
                    RechercheUnProtect = True
                End If
            Else
            RechercheUnProtect = False
            End If
        Next
    End With
    End Function


    Tu l´adaptes a tes besoins, mais en soit je le vois pas compliqué et facilement adaptable a tes besoin sacahnt que ton wbsource c´est le classeur contenant la feuille et le param recherche1 c´est le nom de la feuille recherché,bon courage.
    0