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 :
Produit | Fournisseurs | Étiquettes |
---|---|---|
Chaise | IKEA, Maison du Monde | Meuble, Salon |
Lampe | Leroy Merlin | Éclairage, Salon |
Mais Odoo a besoin du format suivant pour importer correctement :
Produit | Fournisseurs | Étiquettes |
Chaise | IKEA | Meuble |
Maison du Monde | Salon | |
Lampe | Leroy 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
- Appuyez sur ALT + F11 pour ouvrir l’éditeur VBA.
- Cliquez sur Insertion → Module.
- 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 !