Bug aléatoire macro

bonjour,

j'ai un bug au niveau de ma macro qui vient et s'en va aléatoirement sans que je fasse rien et ça devient casse bonbon

Si vous pouviez me trouver la solution ou une alternative je suis preneur

je vous met une capture d'écran du PB plus le fichier en pièce jointe.

image

En vous remerciant de votre aide.

9convocations.zip (299.17 Ko)

Avant d'utiliser les variables, il faut les déclarer. Dans le code que vous avez fourni, aucune déclaration n'a été faite pour les variables suivantes : J, I, sh, c.
La déclaration consiste à spécifier comment une variable spécifique sera utilisée dans votre code, c'est de présiser le type de données qu'elle contiendra, tel que : Integer, Double, String...

Exemple de code :

Dim J As Integer

Dim DateDeNaissance As Date

Dim Message As String

Bonjour,

Pour la ligne c'est OK, mais quel est le message d'erreur ?

bonjour Meryem, Jean -Paul

ce n'est pas moi qui ai créé la macro mais quelqu'un du forum

et le message d'erreur est celui ci

erreur d'execution 13

incompatibilté de type

Bonjour,

l'erreur que tu reçois est très probablement liée à une erreur dans tes données dans ta feuille excel.

adapte ton code ainsi, pour indiquer la cellule en erreur

For Each sh In ThisWorkbook.Worksheets
        If StrComp(sh.Name, "convocations GLOBALE", 1) <> 0 Then
            Set c = sh.Range("A3").CurrentRegion
            For i = 2 To c.Rows.Count
                For j = 8 To c.Columns.Count
                    If Not IsError(c.Cells(i, j).Value) Then  ' <----- ajouter ici
                        If c.Cells(i, j).Value <> "" Then
                            Select Case c.Cells(i, j).Value

                                Case -200000 To 0
                                    iRouge = Application.Min(UBound(Rouge), iRouge + 1)     'pointer
                                    Rouge(iRouge, 1) = c.Cells(i, 1).Value     'CIE
                                    Rouge(iRouge, 2) = c.Cells(i, 2).Value     'Immat
                                    Rouge(iRouge, 3) = c.Cells(i, 3).Value     'Type
                                    Rouge(iRouge, 4) = c.Cells(5, j).Value     'opération (ligne 5)
                                    Rouge(iRouge, 6) = c.Cells(i, j).Value     'temps
                                    Rouge(iRouge, 5) = sh.Name 'c.Cells(i, j).Value    'feuille

                            End Select
                        End If
                    Else ' <----- ajouter ici 
                        MsgBox "cellule en erreur sur la feuille " & sh & " en " & c.Cells(i, j).Address ' <----- ajouter ici
                    End If ' <----- ajouter ici
                Next
            Next
        End If
    Next

h2so4,

Merci cela refonctionne même si j'ai pas le MsgBox en bleu etc... Mais je verrais cela ce soir a la maison.

Par contre si tu as le temps et l'envie bien sûr.

Est il possible de rajouter dans le module 2, que la feuille PM soit traité a part et a la suite mais avec les valeurs de 1 to 5.

Dans le module 3 la même chose mais avec les valeurs 6 to 10.

Je sais pas si ma demande est assez clair

Rechercher des sujets similaires à "bug aleatoire macro"