Edit AlainTech: Message sorti de cette discussion.

Citation Envoyé par julien.63 Voir le message
salut,

Je travaille pour un besoin ponctuelle sur une macro sous excel.
J'ai donc un tableau avec des en têtes séparés par plusieurs lignes et plusieurs colonnes.
J'ai commencé à faire une boucle pour déterminer les cellules aux intersections de mes en têtes de lignes et de colonnes (cellules non vides).

Mais la boucle ne fonctionne pas...

merci d'avance pour un petit coup de pouce.

julien

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
Private Sub CommandButton1_Click()
QICalc.Hide
 
Dim max_line As Integer
Dim max_col As Integer
Dim num_samp As Integer
Dim num_loci As Integer
Dim num_rep As Integer
Dim line As Integer
Dim col As Integer
line = 3
col = 2
 
max_line = TextBox1
max_col = TextBox2
num_samp = TextBox3
num_loci = TextBox4
num_rep = TextBox5
 
Do While line < max_line
    If Not IsEmpty(Cells(line, 1)) Then
        Do While col < max_col
            If Not IsEmpty(Cells(2, col)) Then  
            Cells(line, col).Select
            With Selection.Interior
                .ColorIndex = 3
                .Pattern = xlSolid
            Cells(line, col).Formula = line
            End With
            End If
            col = col + 1
        Loop
    End If
line = line + 1
MsgBox ("line " & line) 'test
Loop
 
 
End Sub

bonjour

je me suis permis d'utiliser ce bout de code pour mon prog !
je l'ai testé seul dans un premier temps et ca marche impec,
mais (bien sur y a un mais), des que je l insert dans la partie de mon prog j ai une erreur du genre : erreur definie par l'application, ou par l'objet et ce sur le 2eme (If Not IsEmpty(Cells(line, col)) Then)

si joint la partie de mon code :

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
Private Sub Cmd_Ajouter_Click()

Dim ligne, X, I, J As Integer
Dim col As String
Dim Tmp, Tmp_LargMini, Tmp_LargMaxi
    'selectionne la page D60 1vantail renfort 100%
   
   If Opt_OB1bra.Value = True Then Sheets("D60-1vtl-blanc").Select
   If Opt_OB1br.Value = True Then Sheets("1vtl-rf100%").Select
   If Opt_OB1color.Value = True Then Sheets("D60-1vtl-rf100%Colorline").Select
   If Opt_OB1paxin.Value = True Then Sheets("D60-1vtl-Plaxé1fint").Select
   If Opt_OB1paxex.Value = True Then Sheets("D60-1vtl-rf100%Plaxé1fext").Select
   If Opt_OB1pax2.Value = True Then Sheets("D60-1vtl-rf100%Plaxé2f").Select
   
 ' ==============VERIFICATION DES ERREURS PPOSSIBLE CASE NON RENSEIGNEES
        ' recheche de la dernier cellule avec texte
        
     Cells.Find(What:="H        L", After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate

            line = ActiveCell.Row
            col = ActiveCell.Column
            
max_line = 10
max_col = 15
num_samp = 10
num_loci = 5
num_rep = 5
 
Do While line < max_line
    If Not IsEmpty(Cells(line, 1)) Then
        Do While col < max_col
            If Not IsEmpty(Cells(line, col)) Then   ' === ici ce produit l'erreur ??
            Cells(line, col).Select
                Else
                Exit Do
            End If
            col = col + 1
            Tmp = ActiveCell.FormulaR1C1
        Loop
    End If
line = line + 1
Loop
ha oui j'oubliais:
je l'utilise dans un Userform, je ne sais pas si cela a de l'importance ?

merci pour votre aide