Bonjour je me prenomme Romain je suis en 1ere année de BTS Info de developpement.
Nos profs nous on confier un petit trucs a develloper sous excel pour soulager une personne de l'administration du lycée. En gros ma partie doit admettre un parametre d'entrée acquis par une inputbox, la variable aceuillant cette valeur est declarer en public pas d'inquietude si vous ne la voyez pas dans mon code, la personne devra saisir une date de la forme [JourMois] (exemple: 2703 pour le 27 mars), puis le code devra aller chercher dans un classeur contenant des nom&prenoms les secteur auquels sont affecter certaine personnes (informatique, administration .....)puis ouvrir et avoir sur le focus sur le classeur portant le nom du secteur auquel appartient la personne sur laquelle on a le focus, puis dans ce classeur voir si il existe une fuille portant comme nom la date entrée en paramettre, si oui alors c'est cool, si non alors on copie la feuille selon un modele present dans un autre classeur et on la colle en premiere position

J'espere que c'est pas trop confus

Je vous donne le code, le probleme c'est qu'il boucle :s

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Sub RechSecteur()
Dim i As Integer, j As Integer, k As Integer
Dim Nom As String, Secteur As String, Classeur As String, contenance As String, default As String
Dim OK As Boolean
Dim laplage As Range, p As Range
Dim lacellule As Range
Dim lafeuille As Worksheet
 
i = 9
j = 2
k = 2
OK = False
 
Set lacellule = Workbooks("conso.xls").Worksheets("photocopieur").Range("A" & k)
 
While lacellule.Value <> ""
    contenance = lacellule.Value
    contenance = contenance & "_imp_" & date1 & ".xls"
    Set laplage = Workbooks(contenance).Worksheets(1).Range("B" & i)
 
    While laplage.Value <> ""
 
        Nom = laplage.Value
        default = Workbooks("Conso.xls").Worksheets("Listing intervenant").Range("B" & j).Value
 
        If Nom = default Then
 
            Secteur = Workbooks("Conso.xls").Worksheets("Listing intervenant").Range("C" & j).Value
            Classeur = Secteur & ".xls"
 
            For Each lafeuille In Workbooks(Classeur).Worksheets
                If lafeuille.Name = date1 Then
                    OK = True
                End If
            Next
 
            If Not OK Then
                Workbooks("Conso.xls").Worksheets("Modele").Copy _
                    before:=Workbooks(Classeur).Worksheets(1)
            End If
 
 
        Else
            MsgBox ("ERREUR secteur inexistant en tant que Classeur, veuillez le creer puis recommencez")
        End If
 
    Wend
    i = i + 1
    j = j + 1
    k = k + 1
Wend
 
End Sub
Je vous remercie des futurs reponse

A bientot


PS: j'ai lu les recommandations, et j'espere que vous ne prendrez pas ma demande tel un foutage de gu*le