Erreur macro incompréhensible

a_loic

XLDnaute Junior
Bonjour,

je dois travailler depuis trop de temps sur ma macro et je ne trouve pas l'erreur ...

voici le code :
Code:
Sheets("Importation").Select
If Cells.Find("*") Is Nothing Then
MsgBox "Merci de ne pas laisser l'onglet d'importation vide"
  Sheets("Intervention").Select
Else

Sheets("Feuil1").Visible = True

Dim Vligne1, Vligne2  As Integer
Dim Vcode As String

Sheets("Importation").Select
Range("D1").Select

5 If ActiveCell.Value <> "Nom du module" Then

            If ActiveCell.Offset(0, 20).Range("A1").Value = "Fin de la feuille" Then
                GoTo 100
            End If

    n = n + 1

    Range("D" & n).Select

    GoTo 5
  Else

            If ActiveCell.Offset(0, 3).Range("A1").Value = "recuperation1" Or _
                ActiveCell.Offset(0, 3).Range("A1").Value = "recuperation2" Or _
                ActiveCell.Offset(0, 3).Range("A1").Value = "recuperation3" Or _
                ActiveCell.Offset(0, 3).Range("A1").Value = "recuperation4" Then

                Vcode = ActiveCell.Offset(0, 3).Range("A1").Value

                n = n + 3
                Range("D" & n).Select

                Do While ActiveCell.Value = "" Or ActiveCell.Value = "Identifiant"
                    n = n + 1

                    Range("D" & n).Select
                    
                Loop

                Vligne1 = ActiveCell.Row

                Do While ActiveCell.Value <> "Nom du module" And Not ActiveCell.Offset(0, 20).Range("A1").Value = "Fin de la feuille"
                    n = n + 1

                    Range("D" & n).Select
                Loop

                Vligne2 = ActiveCell.Row - 1

                Range("D" & Vligne1 & ":AO" & Vligne2).Copy

                Sheets("Feuil1").Select
                If Range("B1").Value = "" Then

                   Range("B1").Select
                   ActiveSheet.Paste
                Else

                    Range("B1").Range("A1:L1").End(xlDown).Select
                    ActiveCell.Offset(1, 0).Range("A1").Select
                    ActiveSheet.Paste
                End If

                ActiveCell.Offset(0, -1).Range("A1:A" & Vligne2 - Vligne1).Value = Vcode
                

                Range("A1").End(xlDown).Select

                Do While ActiveCell.Value = Vcode And Not ActiveCell.Address = "$A$1"
                    If ActiveCell.Offset(0, 1).Range("A1").Value = "" Then

                        ActiveCell.Rows("1:1").EntireRow.Delete Shift:=xlUp
                    End If
                    ActiveCell.Offset(-1, 0).Range("A1").Select
                Loop

                Sheets("Importation").Select

                GoTo 5
            Else
                n = n + 3
                Range("D" & n).Select

                GoTo 5
    End If
End If

100
Sheets("Feuil1").Select


Range("C:N,P:P,R:X,Z:AD,AF:AM").Delete

With Range("A:F")
Cells.SpecialCells(xlCellTypeConstants).Select
End With

    Selection.Copy
    Sheets("Intervention").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Sheets("Feuil1").Select
    Cells.Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlUp
    Sheets("Feuil1").Select
    ActiveWindow.SelectedSheets.Visible = False

Mon problème : lors de certaines importations j'ai un message d'erreur. Je pense que cela est dû au fait qu'il peut y avoir dans mon fichier toutes les infos (recuperation 1, 2, 3 et 4), comme une seule des infos, mais parfois aucune. On peut aussi trouver plusieurs fois le même point avec des infos différentes sous chacune...
-> j'espère être assez clair...

Je ne vois pas dans mon code a quel moment j'ai oublié de spécifier cela.

De plus, la phrase "Fin de la feuille", se trouve bien en bas de toutes les copies, seulement, lorsque ma macro bug la macro tourne jusqu'en bas de la feuille au lieu de s'arrêter à cette phrase...

Arrivez vous à voir mon erreur?

Merci d'avance,
 

camarchepas

XLDnaute Barbatruc
Re : Erreur macro incompréhensible

Re ,

un petit créneau et j'ai retrouvé mes petits / et oui donc pour MAC

Merci à Jacques BoisGontier pour son module de classe de simulation de dictionnaire .
 

Pièces jointes

  • Test_importation_test2.xls
    84.5 KB · Affichages: 19
  • Test_importation_test2.xls
    84.5 KB · Affichages: 20
  • Test_importation_test2.xls
    84.5 KB · Affichages: 21

a_loic

XLDnaute Junior
Re : Erreur macro incompréhensible

Re -

Je commence à me trouver très embêtant mais il reste un dernier problème et je jure que j'ai beau regarder la macro, je ne la comprends pas...

Le doublon est inutile s'il fait partie du même module :
Dans le fichier fourni, le n° 27 ticket 10 est un bon exemple car il apparait 33 fois sous recuperation4.
Cependant, le n° 27 ticket 20 a été supprimé en doublon alors qu'il apparait dans 2 modules différents (recuperation2 et recuperation3).
-> dans ce dernier cas, il le faut dans les 2 modules.

Suis je clair ou pas le moins du monde?

Encore désolé et surtout encore merci !

Bonne journée,
 

camarchepas

XLDnaute Barbatruc
Re : Erreur macro incompréhensible

Loïc , pas de problème,

L'analyse devient de plus en plus fines ,

Toujours compliquer de bien expliquer ce que l'on a dans la tête .....

Voici donc comme demandé :

Si tout est ok , je mettrais un peu de commentaires , bon l'on dira que le module dico lui est une boite noire , juste la façon de l'utiliser est intéressante pour toi.
 

Pièces jointes

  • Test_importation_test2.xls
    92.5 KB · Affichages: 13
  • Test_importation_test2.xls
    92.5 KB · Affichages: 17
  • Test_importation_test2.xls
    92.5 KB · Affichages: 19
Dernière édition:

Discussions similaires

Réponses
2
Affichages
158

Statistiques des forums

Discussions
312 559
Messages
2 089 641
Membres
104 239
dernier inscrit
STEVEALL