créer un test pour éviter bug macro

  • Initiateur de la discussion Initiateur de la discussion skun
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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é 😕 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
 
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 😎
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
241
Réponses
4
Affichages
180
Réponses
4
Affichages
461
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
482
Réponses
0
Affichages
460
Retour