Modifier une ligne en plusieurs lignes

Bonjour à tous

Je suis en train de créer un fichier excel pour importer des donner dans une base de donnée Access qui gère les immobilisation de l'entreprise.

Mon problème est le suivant: J'ai un fichier excel qui regroupe toutes les factures. Chaque immobilisation dans la base possède son propre identifiant, il faut donc que pour chaque élément on trouve une ligne de facture qui lui est propre.

Le problème se fait donc ressentir lorsque sur une facture nous avons plusieurs éléments.

Ce que je cherche à faire, c'est que le fichier excel lorsque que la quantité est supérieure à 1 créer une ligne pour chacun des élément et modifie la quantité a 1.

En plus de cela il faudrait redistribuer les identifiants a chacun des éléments. Dans la ligne original, les identifiant sont énuméré dans un champ séparer des virgules. De plus si une ligne ne possède pas d'identifiant la valeur par défaut sera Spare.

Je vous joint un fichier excel avec deux feuilles, la première montre le fichier original et la seconde l'effet désiré.

Merci à tous pour votre aide

46sample.zip (6.14 Ko)

mais comment vas-tu affecter le bon total à chaque immo ?

(car tu n'as pas le détail de chaque ligne de facture)

ton service comptable va devoir faire une saisie manuelle de ces lignes (si ce n'est déjà fait, car c'est une nécessité)

jmd a écrit :

mais comment vas-tu affecter le bon total à chaque immo ?

(car tu n'as pas le détail de chaque ligne de facture)

ton service comptable va devoir faire une saisie manuelle de ces lignes (si ce n'est déjà fait, car c'est une nécessité)

Pas besoin puisque dans le fichier original lors de la saisie de la facture on saisie le prix unitaire et la quantité du coup le montant total est calculé automatiquement.

Bonjour à tous,

Sub LignesTag()
'Macros par Claude Dubois pour "julien4266" Excel-Pratique le 07/06/10
Dim Lg%, i%, J%, A As Range
Dim Ct As Byte, z As Byte, x
    Application.ScreenUpdating = False
    Lg = Range("A65536").End(xlUp).Row
        For i = Lg To 2 Step -1
            Set A = Cells(i, 11)
            For J = 1 To Len(A)
                If Mid(A, J, 1) = "," Then Ct = Ct + 1
            Next J
                If Ct > 0 Then
                    A = Application.Substitute(A, " ", "")
                    A = Application.Substitute(A, ",", " ")
                    Rows(i).Copy
                    Range(Rows(i), Rows(i + (Ct - 1))).Insert
                    Application.CutCopyMode = False
                    x = Split(A)
                        For z = 0 To UBound(x)
                            A.Offset(-(Ct - z), 0) = x(z)
                        Next z
                    Ct = 0
                End If
        Next i
End Sub

Amicalement

Claude

Rechercher des sujets similaires à "modifier ligne lignes"