IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

[Excel]Résultat non compris, soucis de code


Sujet :

VB.NET

  1. #1
    Membre éclairé Avatar de Uranne-jimmy
    Homme Profil pro
    Bioinformatique
    Inscrit en
    Décembre 2012
    Messages
    778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Bioinformatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 778
    Par défaut [Excel]Résultat non compris, soucis de code
    Bonjour, je fais dans mon programme un traitement de donnée via vb.net, dans ce cadre, j'ai une boucle qui permet, à l’intérieur d'un traitement plus complexe, de faire plusieurs feuilles avec dans chaque feuille un nombre variable de traitement.
    voilà la partie du code concerné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    For k = 0 To (nbessais / nbparessai) - 1
                   For l = 0 To nbparessai - 1
                   If k > 0 Then
                         wb.Worksheets(j + 1).Copy(After:=wb.Worksheets(wb.Worksheets.Count))
                   End If
    'traitement à effectuer (ne pose pas problème)
          Next
    Next
    Le soucis est là :
    Pour nbessais = 2 et nbparessai = 2, j'obtient une feuille avec deux essais traité, mais pour nbessai=2 et nbparessai=1 (comprendre "j'ai deux essais mais je veux les traiter sans relations et sur des feuilles différentes") il y a un bug, le traitement n'est plus tout a fait juste et surtout j'ai quand même le traitement de deux essais sur une même feuille.

    Je suis un peu perdu :/
    Si quelqu'un pouvais m'éclairer, je pressent que c'est une erreur toute bête, une variable malplacé ou un truc de ce genre, mais je n'arrive pas à cibler l'erreur.

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2012
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 337
    Par défaut
    Bonjour,

    pour nbessai=2 et nbparessai=1
    Votre code donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    For k = 0 To (nbessais / nbparessai) - 1 '=(2/1)-1=1
                   For l = 0 To nbparessai - 1 '=1-1=0
                   If k > 0 Then 'k ne peut donc prendre que 2 valeurs soit 0 soit 1
    'Comme vous lui demandez d'être strictement > 0, il n'y aura qu'une nouvelle feuille.
                         wb.Worksheets(j + 1).Copy(After:=wb.Worksheets(wb.Worksheets.Count))
                   End If
    'traitement à effectuer (ne pose pas problème)
          Next
    Next

  3. #3
    Membre éclairé Avatar de Uranne-jimmy
    Homme Profil pro
    Bioinformatique
    Inscrit en
    Décembre 2012
    Messages
    778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Bioinformatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 778
    Par défaut
    bonjour, le soucis ne vient pas de la copie de la feuille qui s'effectue normalement, en effet quand il n'y a qu'un traitement sur une seule feuille (nbessai/nbparessai = 1), je n'ai aucun besoin de rajouter une feuille au traitement, celle déjà existent suffit, le soucis est que quand nbessai=2 et nbparessai=1, le la boucle "for l = 0 to nbparessai" semble au final s’exécuter deux fois alors que comme tu l'as remarqué, la valeur max de l est donc 0 (un seul tour de boucle normalement)

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2012
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 337
    Par défaut
    Bonjour,

    (comprendre "j'ai deux essais mais je veux les traiter sans relations et sur des feuilles différentes") il y a un bug, le traitement n'est plus tout a fait juste et surtout j'ai quand même le traitement de deux essais sur une même feuille.
    Pour moi, cela veut dire que pour chaque essai tu veux créer une feuille.

  5. #5
    Membre éclairé Avatar de Uranne-jimmy
    Homme Profil pro
    Bioinformatique
    Inscrit en
    Décembre 2012
    Messages
    778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Bioinformatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 778
    Par défaut
    mmh ... dans ce cas oui il faut créer une deuxième feuille pour le traitement du second essai, mais c'est le cas vu que dans le deuxième tour de boucle, k=1 et donc k>0, le premier tour ne nécessite pas la création d'une feuille, il y en a déjà une par défaut, il est possible que cette condition soit la cause qui fait que ça traite trop d'essai pas feuille ?

  6. #6
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2012
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 337
    Par défaut
    Pour vous répondre, il faudrait voir le code du traitement des essais.

  7. #7
    Membre éclairé Avatar de Uranne-jimmy
    Homme Profil pro
    Bioinformatique
    Inscrit en
    Décembre 2012
    Messages
    778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Bioinformatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 778
    Par défaut
    mmmh ... c'est un peu long et codé bizarrement ... je ne suis pas un spécialiste de ce genre de langage, je l'apprends sur le tas dans le cadre de mon stage, voici la boucle entière d'écriture :

    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
     
    oExcel.Workbooks.Add()
                    Dim wb As Workbook
                    wb = oExcel.Workbooks(1)
                    Dim wb2 = oExcel.Workbooks.Open("xxx.xls", [ReadOnly]:=True)
                    Dim ws As Worksheet
                    ws = wb.Worksheets(1)
                    ws.Columns("D:" & Charac(temps + 2)).ColumnWidth = 3.86
                    wb.Worksheets(2).delete()
                    wb.Worksheets(2).delete()
                    ws.Cells(1, 2).Value = "Temps"
                    For i = 1 To temps
                        ws.Cells(ligne, 3 + i).Value = i - 1
                    Next i
                    ligne = ligne + 1
                    Dim Ligne1 = ligne
                    For i = 0 To (cM - 1)
                        ws.Cells(ligne, 3).value = TM(i, 1)
                        Dim temoin(temps)
                        Dim localise
                        Dim L
                        Dim c
                        localise = wb2.Worksheets(1).Cells.Find(TM(i, 1)).Address
                        c = localise.split("$")(1)
                        L = localise.split("$")(2)
                        For z = 0 To temps
                            temoin(z) = wb2.Worksheets(1).Cells(L + 1 + z, c).Value
                        Next
                        'boucle de recopiage des résultats d'UN puits
                        For z = 0 To temps
                            ws.Cells(ligne, 4 + z) = temoin(z)
                        Next
                        ligne = ligne + 1
                        pg1.Value += 1
                    Next
                    ws.Cells(ligne, 3).value = "Moyenne"
                    For i = 0 To temps - 1
                        ws.Cells(ligne, 4 + i).formula = "=average(" & ws.Cells(ligne - cM, 4 + i).address & ":" & ws.Cells(ligne - 1, 4 + i).address & ")"
                    Next
                    ligne = ligne + 1
                    ws.Cells(ligne, 3).value = "MAZ"
                    For i = 0 To temps - 1
                        ws.Cells(ligne, 4 + i).formula = "=if(" & ws.Cells(ligne - 1, 4 + i).address & "-" & ws.Cells(ligne - 1, 4).address & ">0, " & ws.Cells(ligne - 1, 4 + i).address & "-" & ws.Cells(ligne - 1, 4).address & ", 0)"
                    Next
                    ws.Cells(Ligne1, 2).value = "Milieu"
                    ws.Cells(Ligne1, 2).HorizontalAlignment = XlHAlign.xlHAlignCenter
                    ws.Range(ws.Cells(Ligne1, 2), ws.Cells(ligne, 2)).Merge()
                    ws.Cells(Ligne1 - 1, 1).value = "Milieu"
                    ws.Cells(Ligne1 - 1, 1).HorizontalAlignment = XlHAlign.xlHAlignCenter
                    ws.Range(ws.Cells(Ligne1 - 1, 1), ws.Cells(ligne, 1)).Merge()
                    ligne = ligne + 1
                    ligne += 1
                    ligne2 = ligne
                    For j = 0 To nbmilieux - 1
                        If j > 0 Then
                            ws.Copy(After:=wb.Worksheets(wb.Worksheets.Count))
                        End If
                        wb.Worksheets(j + 1).name = TriCat(j, 0, 0).split("|")(1)
                        wb.Worksheets(j + 1).cells(ligne, 2).value = "Blanc"
                        wb.Worksheets(j + 1).Cells(ligne, 2).HorizontalAlignment = XlHAlign.xlHAlignCenter
                        wb.Worksheets(j + 1).Range(wb.Worksheets(j + 1).Cells(ligne, 2), wb.Worksheets(j + 1).Cells(ligne + 1, 2)).Merge()
                        wb.Worksheets(j + 1).cells(ligne, 3).value = TriTB(j, 1)
                        Dim temoin(temps)
                        Dim localise
                        Dim L2
                        Dim c
                        localise = wb2.Worksheets(1).Cells.Find(TriTB(j, 1)).Address
                        c = localise.split("$")(1)
                        L2 = localise.split("$")(2)
                        For z = 0 To temps
                            temoin(z) = wb2.Worksheets(1).Cells(L2 + 1 + z, c).Value
                        Next
                        'boucle de recopiage des résultats d'UN puits
                        For z = 0 To temps
                            wb.Worksheets(j + 1).Cells(ligne, 4 + z) = temoin(z)
                        Next
                        ligne += 1
                        wb.Worksheets(j + 1).cells(ligne, 3).value = "MAZ"
                        For i = 0 To temps - 1
                            wb.Worksheets(j + 1).Cells(ligne, 4 + i).formula = "=if(" & ws.Cells(ligne - 1, 4 + i).address & "-" & ws.Cells(ligne - 1, 4).address & ">0, " & ws.Cells(ligne - 1, 4 + i).address & "-" & ws.Cells(ligne - 1, 4).address & ", 0)"
                        Next
                        ligne += 1
                        wb.Worksheets(j + 1).Cells(ligne, 3).Value = "Temps"
                        For i = 1 To temps
                            wb.Worksheets(j + 1).Cells(ligne, 3 + i).Value = i - 1
                        Next i
                        ligne += 1
                        For i = 0 To cT / nbmilieux - 1
                            wb.Worksheets(j + 1).Cells(ligne, 3).value = TriCat(j, i, 1)
                            localise = wb2.Worksheets(1).Cells.Find(TriCat(j, i, 1)).Address
                            c = localise.split("$")(1)
                            L2 = localise.split("$")(2)
                            For z = 0 To temps
                                temoin(z) = wb2.Worksheets(1).Cells(L2 + 1 + z, c).Value
                            Next
                            'boucle de recopiage des résultats d'UN puits
                            For z = 0 To temps
                                wb.Worksheets(j + 1).Cells(ligne, 4 + z) = temoin(z)
                            Next
                            ligne += 1
                            pg1.Value += 1
                        Next
                        wb.Worksheets(j + 1).Cells(ligne, 3) = "Moyenne"
                        For i = 0 To temps - 1
                            wb.Worksheets(j + 1).Cells(ligne, 4 + i).formula = "=average(" & wb.Worksheets(j + 1).Cells(ligne - cM, 4 + i).address & ":" & wb.Worksheets(j + 1).Cells(ligne - 1, 4 + i).address & ")"
                        Next
                        ligne += 1
                        wb.Worksheets(j + 1).Cells(ligne, 3) = "BDF"
                        For i = 0 To temps - 1
                            wb.Worksheets(j + 1).Cells(ligne, 4 + i).formula = "=if(" & wb.Worksheets(j + 1).Cells(ligne - cT / nbmilieux - 4, 4 + i).address & "-" & wb.Worksheets(j + 1).Cells(ligne - 1, 4 + i).address & ">0, " & wb.Worksheets(j + 1).Cells(ligne - cT / nbmilieux - 4, 4 + i).address & "-" & wb.Worksheets(j + 1).Cells(ligne - 1, 4 + i).address & ", 0)"
                        Next
                        ligne += 1
                        wb.Worksheets(j + 1).Cells(ligne, 3) = "MAZ"
                        For i = 0 To temps - 1
                            wb.Worksheets(j + 1).Cells(ligne, 4 + i).formula = "=if(" & wb.Worksheets(j + 1).Cells(ligne - 1, 4 + i).address & "-" & wb.Worksheets(j + 1).Cells(ligne - 1, 4).address & ">0, " & wb.Worksheets(j + 1).Cells(ligne - 1, 4 + i).address & "-" & wb.Worksheets(j + 1).Cells(ligne - 1, 4).address & ", 0)"
                        Next
                        ligne3 = ligne
                        ligne += 1
                        wb.Worksheets(j + 1).Cells(ligne, 3) = "% de croissance"
                        For i = 0 To temps - 1
                            wb.Worksheets(j + 1).cells(ligne, 4 + i).formula = "=if(" & wb.Worksheets(j + 1).cells(ligne3, 4 + i).address & ">0,(" & wb.Worksheets(j + 1).cells(ligne - 1, 4 + i).address & "/" & wb.Worksheets(j + 1).cells(ligne3, 4 + i).address & ")*100,100)"
                        Next
                        wb.Worksheets(j + 1).cells(ligne, 1).value = "Témoin"
                        wb.Worksheets(j + 1).Cells(ligne, 1).HorizontalAlignment = XlHAlign.xlHAlignCenter
                        wb.Worksheets(j + 1).range(wb.Worksheets(j + 1).cells(ligne - 5 - (cT / nbmilieux) - 1, 1), wb.Worksheets(j + 1).cells(ligne, 1)).Merge()
                        wb.Worksheets(j + 1).cells(ligne, 2).value = "Témoin"
                        wb.Worksheets(j + 1).Cells(ligne, 2).HorizontalAlignment = XlHAlign.xlHAlignCenter
                        wb.Worksheets(j + 1).Range(wb.Worksheets(j + 1).Cells(ligne - 4 - (cT / nbmilieux), 2), wb.Worksheets(j + 1).Cells(ligne, 2)).Merge()
                        ligne += 1
                        ligne += 1
                        For k = 0 To (nbessais / nbparessai) - 1
                            For l = 0 To nbparessai - 1
                                If k > 0 Then
                                    wb.Worksheets(j + 1).Copy(After:=wb.Worksheets(wb.Worksheets.Count))
                                End If
                                wb.Worksheets(j + k + 1).cells(ligne, 2).value = "Blanc"
                                wb.Worksheets(j + k + 1).Cells(ligne, 2).HorizontalAlignment = XlHAlign.xlHAlignCenter
                                wb.Worksheets(j + k + 1).Range(wb.Worksheets(j + k + 1).Cells(ligne, 2), wb.Worksheets(j + k + 1).Cells(ligne + 1, 2)).Merge()
                                wb.Worksheets(j + k + 1).cells(ligne, 3).value = TriB(j, k + l, 1)
                                localise = wb2.Worksheets(1).Cells.Find(TriB(j, k + l, 1)).Address
                                c = localise.split("$")(1)
                                Dim L1 = localise.split("$")(2)
                                For z = 0 To temps
                                    temoin(z) = wb2.Worksheets(1).Cells(L1 + 1 + z, c).Value
                                Next
                                'boucle de recopiage des résultats d'UN puits
                                For z = 0 To temps
                                    wb.Worksheets(j + k + 1).Cells(ligne, 4 + z) = temoin(z)
                                Next
                                ligne += 1
                                wb.Worksheets(j + k + 1).cells(ligne, 3).value = "MAZ"
                                For i = 0 To temps - 1
                                    wb.Worksheets(j + k + 1).Cells(ligne, 4 + i).formula = "=if(" & wb.Worksheets(j + k + 1).Cells(ligne - 1, 4 + i).address & "-" & wb.Worksheets(j + k + 1).Cells(ligne - 1, 4).address & ">0, " & wb.Worksheets(j + k + 1).Cells(ligne - 1, 4 + i).address & "-" & wb.Worksheets(j + k + 1).Cells(ligne - 1, 4).address & ", 0)"
                                Next
                                ligne += 1
                                wb.Worksheets(j + k + 1).Cells(ligne, 3).Value = "Temps"
                                For i = 1 To temps
                                    wb.Worksheets(j + k + 1).Cells(ligne, 3 + i).Value = i - 1
                                Next i
                                ligne += 1
                                For i = 0 To cS / nbmilieux / nbessais - 1
                                    wb.Worksheets(j + k + 1).Cells(ligne, 3).value = TriEss(j, k + l, i, 1)
                                    localise = wb2.Worksheets(1).Cells.Find(TriEss(j, k + l, i, 1)).Address
                                    c = localise.split("$")(1)
                                    L1 = localise.split("$")(2)
                                    For z = 0 To temps
                                        temoin(z) = wb2.Worksheets(1).Cells(L1 + 1 + z, c).Value
                                    Next
                                    'boucle de recopiage des résultats d'UN puits
                                    For z = 0 To temps
                                        wb.Worksheets(j + k + 1).Cells(ligne, 4 + z) = temoin(z)
                                    Next
                                    ligne += 1
                                Next
                                wb.Worksheets(j + k + 1).Cells(ligne, 3) = "Moyenne"
                                For i = 0 To temps - 1
                                    wb.Worksheets(j + k + 1).Cells(ligne, 4 + i).formula = "=average(" & wb.Worksheets(j + k + 1).Cells(ligne - (cS / nbmilieux / nbessais), 4 + i).address & ":" & wb.Worksheets(j + k + 1).Cells(ligne - 1, 4 + i).address & ")"
                                Next
                                ligne += 1
                                wb.Worksheets(j + k + 1).Cells(ligne, 3) = "BDF"
                                For i = 0 To temps - 1
                                    wb.Worksheets(j + k + 1).Cells(ligne, 4 + i).formula = "=if(" & wb.Worksheets(j + k + 1).Cells(ligne - (cS / nbmilieux / nbessais) - 4, 4 + i).address & "-" & wb.Worksheets(j + k + 1).Cells(ligne - 1, 4 + i).address & ">0, " & wb.Worksheets(j + k + 1).Cells(ligne - (cS / nbmilieux / nbessais) - 4, 4 + i).address & "-" & wb.Worksheets(j + k + 1).Cells(ligne - 1, 4 + i).address & ", 0)"
                                Next
                                ligne += 1
                                wb.Worksheets(j + k + 1).Cells(ligne, 3) = "MAZ"
                                For i = 0 To temps - 1
                                    wb.Worksheets(j + k + 1).Cells(ligne, 4 + i).formula = "=if(" & wb.Worksheets(j + k + 1).Cells(ligne - 1, 4 + i).address & "-" & wb.Worksheets(j + k + 1).Cells(ligne - 1, 4).address & ">0, " & wb.Worksheets(j + k + 1).Cells(ligne - 1, 4 + i).address & "-" & wb.Worksheets(j + k + 1).Cells(ligne - 1, 4).address & ", 0)"
                                Next
                                ligne += 1
                                wb.Worksheets(j + k + 1).Cells(ligne, 3) = "% de croissance"
                                For i = 0 To temps - 1
                                    wb.Worksheets(j + k + 1).cells(ligne, 4 + i).formula = "=if(" & wb.Worksheets(j + k + 1).cells(ligne3, 4 + i).address & ">0,(" & wb.Worksheets(j + k + 1).cells(ligne - 1, 4 + i).address & "/" & wb.Worksheets(j + k + 1).cells(ligne3, 4 + i).address & ")*100,100)"
                                Next
                                wb.Worksheets(j + k + 1).cells(ligne, 1).value = "Essais"
                                wb.Worksheets(j + k + 1).Cells(ligne, 1).HorizontalAlignment = XlHAlign.xlHAlignCenter
                                wb.Worksheets(j + k + 1).range(wb.Worksheets(j + k + 1).cells(ligne - 5 - (cS / nbessais / nbmilieux) - 1, 1), wb.Worksheets(j + k + 1).cells(ligne, 1)).Merge()
                                wb.Worksheets(j + k + 1).cells(ligne, 2).value = "essai " & (l + 1)
                                wb.Worksheets(j + k + 1).Cells(ligne, 2).HorizontalAlignment = XlHAlign.xlHAlignCenter
                                wb.Worksheets(j + k + 1).Range(wb.Worksheets(j + k + 1).Cells(ligne - 4 - (cS / nbmilieux / nbessais), 2), wb.Worksheets(j + k + 1).Cells(ligne, 2)).Merge()
                                ligne += 1
                                ligne += 1
                                pg1.Value += 1
                            Next
                        Next
     
                        ligne = ligne2
                    Next
    La partie que j'avais montré n'est que la partie la plus interne de mon traitement ...

  8. #8
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2012
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 337
    Par défaut
    Oulala Dur à suivre votre code

    Il faudrai voir les valeurs prises en mode pas à pas par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    wb.Worksheets(j + k + 1).cells(ligne, 2).value = "Blanc"
                                wb.Worksheets(j + k + 1).Cells(ligne, 2).HorizontalAlignment = XlHAlign.xlHAlignCenter
                                wb.Worksheets(j + k + 1).Range(wb.Worksheets(j + k + 1).Cells(ligne, 2), wb.Worksheets(j + k + 1).Cells(ligne + 1, 2)).Merge()
                                wb.Worksheets(j + k + 1).cells(ligne, 3).value = TriB(j, k + l, 1)
    Il ne faudrait pas qu'en cas d'erreur, il utilise la feuille active.

Discussions similaires

  1. [XL-2003] Code sur excel 2003 non compatible sur excel 2007!
    Par Patscaph dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 13/07/2014, 15h17
  2. un bout de code non compris sous ISTOOL
    Par ririrourou dans le forum Outils
    Réponses: 5
    Dernier message: 07/04/2009, 13h31
  3. bou de code non compris
    Par soft_angel dans le forum VB.NET
    Réponses: 9
    Dernier message: 14/08/2008, 13h39
  4. code non compris
    Par astrotouf dans le forum Langage
    Réponses: 9
    Dernier message: 07/01/2008, 21h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo