Gestion feuille excel

Fermé
Eric - 16 mai 2017 à 10:32
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018 - 17 mai 2017 à 00:46
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
A voir également:

1 réponse

GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
17 mai 2017 à 00:46
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