Se rendre au contenu

Facilitez vos imports Odoo avec Excel et VBA

Transformez automatiquement vos données Excel pour qu'elles soient prêtes à l'import dans Odoo

Lorsque vous importez des données dans Odoo, vous pouvez avoir besoin d'importer plusieurs valeurs dans un même champ (par exemple, des étiquettes, fournisseurs ou catégories associées à un produit). Par défaut, Odoo attend ces valeurs sur plusieurs lignes distinctes dans le fichier d'import.

Souvent, vos données initiales dans Excel ressemblent à ceci :

ProduitFournisseursÉtiquettes
ChaiseIKEA, Maison du MondeMeuble, Salon
LampeLeroy MerlinÉclairage, Salon

Mais Odoo a besoin du format suivant pour importer correctement :

ProduitFournisseursÉtiquettes
ChaiseIKEAMeuble
Maison du MondeSalon
LampeLeroy MerlinÉclairage
Salon

Plutôt que d'effectuer cette transformation manuellement, voici une méthode simple et rapide avec une macro VBA dans Excel.


Étape 1 : Ajouter une macro VBA à votre classeur Excel

  1. Appuyez sur ALT + F11 pour ouvrir l’éditeur VBA.
  2. Cliquez sur Insertion → Module.
  3. Copiez-collez ce script dans le module :
Sub PreparerImportOdoo()
    Dim cell As Range, valsFournisseurs As Variant, valsEtiquettes As Variant
    Dim i As Long, j As Long, maxLines As Long, lignesAjoutees As Long

    For i = Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1
        valsFournisseurs = Split(Cells(i, "B").Value, ",")
        valsEtiquettes = Split(Cells(i, "C").Value, ",")

        maxLines = Application.Max(UBound(valsFournisseurs), UBound(valsEtiquettes))
        lignesAjoutees = maxLines

        If maxLines > 0 Then
            Rows(i + 1 & ":" & i + maxLines).Insert Shift:=xlDown

            For j = 0 To maxLines
                If j <= UBound(valsFournisseurs) Then
                    Cells(i + j, "B").Value = Trim(valsFournisseurs(j))
                Else
                    Cells(i + j, "B").ClearContents
                End If

                If j <= UBound(valsEtiquettes) Then
                    Cells(i + j, "C").Value = Trim(valsEtiquettes(j))
                Else
                    Cells(i + j, "C").ClearContents
                End If

                If j > 0 Then Cells(i + j, "A").ClearContents
            Next j
        End If
    Next i

    MsgBox "Données préparées pour Odoo !"
End Sub


Étape 2 : Utiliser la macro pour transformer vos données

  • Retournez dans Excel.
  • Appuyez sur ALT + F8, sélectionnez PreparerImportOdoo, puis cliquez sur Exécuter.

Vos données seront automatiquement transformées pour être directement compatibles avec les imports Odoo.


Étape 3 : Importer dans Odoo

  • Sauvegardez votre fichier au format .csv ou .xlsx.
  • Rendez-vous dans votre instance Odoo :
    • Par exemple : Produits → Importer → Sélectionnez votre fichier.
  • Associez les colonnes à vos champs Odoo correspondants (produit, fournisseur, étiquettes).
  • Lancez l’importation !


Pourquoi automatiser ?

Cette méthode vous permet d'éviter les erreurs humaines, de gagner du temps précieux et d'assurer une importation parfaite de vos données dans Odoo.

N'hésitez pas à adapter la macro selon vos besoins spécifiques. Bonne importation !


Facilitez vos imports Odoo avec Excel et VBA
LCSX Tech, Cossiaux Laurent 8 avril 2025
Partager cet article
Se connecter pour laisser un commentaire.
Empêcher le Calendrier Odoo d'envoyer des emails