Macro qui s'éxécute mais qui ne fait rien

Bonjour tout le monde,

J'ai un problème un peu étrange, j'ai créé une macro qui n'a a priori pas d'erreur de construction selon le débogueur mais elle ne fait rien...

Je met le code et le fichier dans ce post

Le but de ce excel est d'automatiser une tâche fastidieuse sur access. J'aimerai pouvoir attibuer des identifications de manière automatique. La liste étant l'ensemble des pièces d'un système. Dans cette liste, il y a des pièces et des sous assemblages et des pièce s en stock. Le but est lorsqu'on affecte un IDaircraft à un sous assemblage toutes les pièces qui le composent prennent le même IDaircraft si les numéro de série correspondent

Par exemple :

L12 la colonne D permet de voir que la pièce 00004R ayant SN001 pour numéro de série est une pièce de l'assemblage 00109R03 (L233) avec un SN 001, cet assemblahe est lui même une pièce de l'assemblage 00074R02 (L121) avec un SN001. J'aimerai par exemple si je met un 3 dans IDaircraft de la pièce 00074R02 SN001 que toutes les pièces qui la composent prennent le même IDaircraft

Voici le code que j'ai fait mais qui n'affiche rien...

Sub test()
With Sheets("SN")
A = .Range("A" & .Rows.Count).End(xlUp).Row
For i = 2 To A
    If Cells(i, 3).Value = "" Then
        If Right(Left(Cells(i, 6).Value, 15), 2) = "SN" Then
            For k = 2 To A
                If Left(Cells(i, 4).Value, 6) = Cells(k, 1).Value Then
                    If Right(Cells(i, 4).Value, 5) = Cells(k, 2).Value Then
                    Cells(i, 3).Value = Cells(k, 3).Value
                    End If
                End If
            Next k
        End If
    End If
Next i
End With
End Sub

Et mon fichier

La colonne jaune est une colonne de test, j'ai importé ce fichier depuis access et certaine pièces avaient saisie a la main, j'ai donc mis une condition qui affiche 1 si la colonne 3 est remplie, le compteur en bas permet de savoir que 277 pièces étaient complètent avant la macro et que l'éxécution du code n'a pas fait augmenter ce nombre...

Est ce que mon problème est raisonnable ou pas ?

Merci d'avance pour votre aide !

Bonjour,

"If Right(Left(Cells(i, 6).Value, 15), 2) = "SN" Then "

Il n'y a rien dans toutes la colonne 6 ("F") donc il ne trouve rien

P.

Merci !

Donc maintenant mon code fonctionne en gros mais oublie énormément de pièce est que vous auriez une idée ?

Je pense que c'est à cause du fait que la listes est parcourue de haut en bas et une seule fois alors que la liste n'est pas organisée mais je ne sais pas comment régler ce problème...

La liste ne peut pas être organisée puisque la nomenclature change très régulièrment certaines pièces avec un grand numéro se retrouveront assemblée avec un petit...

Merci d'avance

re,

explication insolubles pour mon neurone..

Pourquoi ne pas mettre dans ton fichier un exemple concret avec les lignes concernées dans une couleur et dans les 2 onglets ?

N'oublie pas que c'est ton fichier que nous ne connaissons pas

P.

Voici le fichier avec un exemple le plus illustré possible

Les cellule jaunes étaient déja complétés

Ce que j'aimerais c'est importé mes données, dans certaines cellules de la colonne C (les assemblages) on peut avoir un nombre. Après importation le lancement de la macro attribuerait le même identifiants à toutes les pièces liées.

Dans l'exemple illustrée dans mon fichier, supposons qu'après import la cellule rouge contiennent un 4. après la macro, toutes les lignes vertes (claires et foncées devraient eux aussi avoir 4 dans la colonne C. Le lien est fait via la colonne D, les 6 premiers caractères représentent le numéro de l'assemblage qui contient la pièce de la ligne en question, les 5 derniers caractères représentent le numéro de série de l'assemblage qui contient la pièce.

Ces explications sont elles convenables ?

Merci de votre aide

Peut être que ce fichier peut aussi aider a la compréhension

29loidc181-public.xlsm (133.84 Ko)

Par exemple, si je donne un IDaircraftt à la pièce 00223R j'aimerais que toutes les pièces qui en découlent prennent le même IDaircraft

Je n'ai rien d'autre pour espliquer mon problème

Et merci pour le temps passé a m'aider !

Sorry, mais je n'ai pas le niveau pour t'aider ...

P.

Merci quand même

Rechercher des sujets similaires à "macro qui execute fait rien"