Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Erreure Mais Ou ?

FREDPLONGEUR

XLDnaute Junior
Bonjour à tous,

j'ai une macro qui fonctionne tout le temps
mais je reçois un tableau que je passe à la moulinette
et ...... bug
Erreure 13

J'ai un double écran, je voudrais savoir à quel endroit précis de ce tableau
ça plante afin de chercher le pourquoi de la chose

peut être avec un "espion" ? comment ça marche ?
 

gilbert_RGI

XLDnaute Barbatruc
Re : Erreure Mais Ou ?


Bonjour

Dans le VBE la touche F8 permet d'avancer pas à pas dans la macro

Cdlt

RGI
 

Pierrot93

XLDnaute Barbatruc
Re : Erreure Mais Ou ?

Bonjour Fred, Gilbert

lorsque tu as l'erreur et si tu cliques sur débogage, l'erreur se trouve sur la ligne surlignée en jaune... enfin si j'ai bien compris ta question...

bon après midi
@+
 

Pierrot93

XLDnaute Barbatruc
Re : Erreure Mais Ou ?

Re

faudrait voir ton code et / ou ton fichier, si c'est un problème de variable, affiche la "fenêtre des variables locales", barre de menu de l'éditeur vba => affichage, et tu verras la valeur affectée à ta variable... sans plus de détails, difficile pour moi de t'en dire plus...

@+
 

gilbert_RGI

XLDnaute Barbatruc
Re : Erreure Mais Ou ?

Merci à vous

oui je connais ces fonctions de débugage
mais je souhaitais savoir dans quelle cellule des donnéees
du tableau source qui pause problême

merci d'avance

en passant le curseur sur la ligne jaune une aide contextuelle vous est fournie et delà il est possible de savoir qu'est-ce qui fait bugger sinon il faut faire inscrire dans l'écran de debuggage (execution)
avec Debug.Print
 

Pierrot93

XLDnaute Barbatruc
Re : Erreure Mais Ou ?

Re

tu as une erreur dans la cellule A15, (#N/A) c'est ce qui provoque l'erreur, modifies la boucle comme suit, cela doit corriger le problème :

Code:
    For x = li To 2 Step -1
        If IsEmpty(Cells(x, 1).Value) Then
            Rows(x).Delete
        End If
    Next x

bonne fin d'après midi
@+
 

Pierrot93

XLDnaute Barbatruc
Re : Erreure Mais Ou ?

Re

par contre si la cellule n'est pas modifiée, il y a de fortes chances pour que cela bogue également dans la boucle for each.... pour éviter modifies comme ci dessous :

For Each sel In Range("A1:A" & [A65536].End(xlUp).Row)
If Not IsError(sel.Value) Then
sel.Value = RTrim(sel.Value)
sel.Value = LTrim(sel.Value)
End If
Next

@+

edition : manquait la moitié....
 
Dernière édition:

FREDPLONGEUR

XLDnaute Junior
Re : Erreure Mais Ou ?

Bonjour Pierrot 93, merci beaucoup de ton aide précieuse

Cela fonctionne, mais maintenant elle me plante plus bas dans la rubrique

'Programme qui lance le rapprochement entre les deux feuilles

sur le code : Do While Var.Value <> "zzz"

Effectivement si je retir les deus références en herreure cela ne
bug plus, je ne les avais pas vu. En revanche j'ai quand même
corrigé la macro avec ton code afin qu'elle ne plante pas

Peux tu voir ce dernier petit problême ci-dessus afin que sur d'autre fichier
elle continue à tourner voir mettre en couleur lignes d'erreures

Merci d'avance
 

Pierrot93

XLDnaute Barbatruc
Re : Erreure Mais Ou ?

Bonjour Fred

modifies ta boucle comme suit :

Code:
    Do While IsError(Var.Value) Or Not IsEmpty(Var.Value)
        If Not IsError(Var.Value) Then
            Set c = .Cells.Find(What:=Var.Value, LookIn:=xlFormulas, LookAt:= _
                xlWhole, SearchOrder:=xlByRows)
            If Not c Is Nothing Then
                Var.Offset(0, 1) = c.Offset(0, 1)
            End If
        End If
        Set Var = Var.Offset(1, 0)
    Loop

et enlève cette partie de code :

Code:
Sheets(1).Select
 Range("A65536").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "zzz"

la boucle s'effectura tant que la cellule sera en erreur ou tant qu'elle ne sera pas vide.

à tester dans ton projet.

bon apès midi.
@+
 

Discussions similaires

Réponses
5
Affichages
165
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…