créer un test pour éviter bug macro

skun

XLDnaute Occasionnel
Bonjour,

J'ai un problème avec une macro:

Code:
classeur1 = ActiveWorkbook.Name
nomfeuille1 = "SAISIE"
col1 = "i"
lidep1 = 2
dl1 = Sheets(nomfeuille1).Range(col1 & "65536").End(xlUp).Row + 2


nomfeuille2 = "BD tournée" '"Feuil1"
col2 = "a"
lidep2 = 2
dl2 = Sheets(nomfeuille2).Range(col2 & "65536").End(xlUp).Row + 1
'************************************

With Sheets(nomfeuille1)

Lig = recherchemot("A1:A" & dl2, Sheets(nomfeuille1).Range("b1"), nomfeuille2, 1)
Set plage = .Range(col1 & lidep1 & ":" & col1 & .Range(col1 & "65536").End(xlUp).Row)

For Each cellule In plage
   
     If cellule.Value <> "" Then
        
        i = recherchemot("A1:IV1", cellule.Value, nomfeuille2, 3)
        
        [COLOR="Red"]Sheets(nomfeuille2).Cells(Lig, i).Value = cellule.Offset(0, 1).Value
        Sheets(nomfeuille2).Cells(Lig, i + 1).Value = cellule.Offset(0, 2).Value
        Sheets(nomfeuille2).Cells(Lig, i - 1).Value = cellule.Offset(0, -1).Value[/COLOR]
        
     End If
Next cellule

End With

Lors de l'utilisation de la macro, un message d'erreur apparait:
"Erreur execution 1004
Erreur définie par l'application ou par l'objet"

ca me surligne en jaune les lignes: ci dessus en rouge

le truc c'est que la macro fonctionne, c'est une macro que j'ai modifié (son auteur: jp14 que je remercie) mais qui à chaque fois que je la modifie me fait des messages assez surprenant que je ne comprend pas.

J'ai déjà posté il y a lontemps lors d'une première modification, on m'avait dit de créer un "test" ... ne sachant pas comment faire j'ai trifouiller et juste en inversant la position des lignes, ca avait débuggué... mais aujourd'hui cette technique ne marche plus.

On m'avait expliquer que la fonction recherche (i) était égal à 0 , c'est pour ca que ca buggué :confused: mais malgrés ces explications, je ne comprend pas comment la faire débuggué.. (vu qu'elle fonctionne)

Voilà, donc je cherche à créer un test permettant d'éviter ce bug..
Si quelqu'un peut m'aider, je vous remercie.


salutations


skun
 

JNP

XLDnaute Barbatruc
Re : créer un test pour éviter bug macro

Bonjour Skun :),
Non testé mais ça devrait marcher :
Code:
For Each cellule In plage
 
     If cellule.Value <> "" Then
 
        i = recherchemot("A1:IV1", cellule.Value, nomfeuille2, 3)
[COLOR=red]      If i <> 0 Then[/COLOR]
[COLOR=black]          Sheets(nomfeuille2).Cells(Lig, i).Value = cellule.Offset(0, 1).Value[/COLOR]
[COLOR=black]          Sheets(nomfeuille2).Cells(Lig, i + 1).Value = cellule.Offset(0, 2).Value[/COLOR]
[COLOR=black]          Sheets(nomfeuille2).Cells(Lig, i - 1).Value = cellule.Offset(0, -1).Value[/COLOR]
[COLOR=red]      End If[/COLOR]
     End If
Next cellule
Bonne journée :cool:
 

Discussions similaires

Réponses
0
Affichages
83
Réponses
4
Affichages
165

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T