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 à 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 ?

Bonjour

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

Cdlt

RGI
 

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
130

Statistiques des forums

Discussions
312 555
Messages
2 089 551
Membres
104 210
dernier inscrit
mjub