VBA importation dans feuille

Bonjour a toutes et tous

J'ai créer un classeur pour la gestion de mes commandes, mais quand j'envoi mon formulaire dans ma base de données les formules sont copiés, mais je voudrais copier que le résultat.

Je vous ai mis dans le fichiers les annotations pour mieux comprendre mon petit soucis.

merci a vous tous

Guillaume

Bonjour

Il faut utiliser les tableaux structurés tant pour la BD que le sources des listes déroulantes.

A contrario les civilités et Oui/Non pourraient directement être inscrit dans les paramètres de validation plutôt qu'avec une source externe

Utiliser des listes hiérarchisées pour les produits et prix afférents. J'ai modifié pour les produits : il y a sans doute à s'en inspirer pour le transport...

J'ai adapté le code

Bonsoir le fil, bonsoir le forum,

Je n'ai pas remplacé tes tableaux par des tableaux structurés comme 'la fait Chris mais je plussoie complètement sa remarque.
Comme j'y ai travaillé dessus, je me permet d'envoyer ma proposition.
J'ai déplacé le code du bouton Envoie base dans un module (Module1) car il n'avait rien à faire dans le composant Thisworkbook.

Sub trans()
Dim OF As Worksheet 'déclare la variable OF (Onglet Formulaire)
Dim OB As Worksheet 'déclare la variable OB (Onglet Base de données)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim PL As Range 'déclare la variable PL (PLage)
Dim CEL As Range 'déclare la variable CEL (CELlule)
Dim I As Byte 'déclare la variable I (Incrément)

Set OF = Worksheets("Formulaire") 'définit l'onglet OF
Set OB = Worksheets("Base de données") 'définit l'onglet OB
DL = OB.Cells(Application.Rows.Count, "A").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne A de l'onglet OB
Set PL = OF.Range("B5:B22") 'définit la plage PL
For Each CEL In PL 'boucle sur toutes les cellule CEL de la plage PL
    I = I + 1 'incrémente I
    OB.Cells(DL + 1, I).Value = CEL.Value 'récupère la valeur de la cellule CEL dans la cellule ligne DL + 1, colonne I de l'onglet OB
Next CEL 'prochaine cellue de la boucle
PL.SpecialCells(xlCellTypeConstants).ClearContents 'efface les valeurs constantes de la plage PL (pas les formules)
DL = DL + 1 'redéfinit la variable DL
OF.Range("B5").Value = Application.WorksheetFunction.Max(OB.Range("A3:A" & DL)) + 1 'renvioe dans B5 de l'onglet OF la valeur max de la colonne A plus une
OF.Range("B7").Select 'sélectionne la cellule B7 de l'onglet OF
End Sub

Cependant, dans ce composant j'ai écrit ce petit bout de code pour que le numéro de facture soit toujours incrémenté :

Private Sub Workbook_Open() 'à l'ouverture du classeur
10guy-ep-v01.xlsm (32.89 Ko)
Dim OF As Worksheet 'déclare la variable OF (Onglet Formulaire)
Dim OB As Worksheet 'déclare la variable OB (Onglet Base de données)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)

Set OF = Worksheets("Formulaire") 'définit l'onglet OF
Set OB = Worksheets("Base de données") 'définit l'onglet OB
DL = OB.Cells(Application.Rows.Count, "A").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne A de l'onglet OB
OF.Range("B5").Value = Application.WorksheetFunction.Max(OB.Range("A3:A" & DL)) + 1 'renvioe dans B5 de l'onglet OF la valeur max de la colonne A plus une
OF.Activate 'active l'onglet Formulaire
End Sub

Merci ThauThème et 78Chris

Exactement ce que je chercher très bien par contre il y a moyen de faire concorder les produits avec leurs prix ?

Je m’explique, quand je sélectionne les catégories de produit il m’affiches les produits lié avec la catégorie choisis.

Et je voudrais qu’il me donne les prix automatiquement lié au produits

Un grand merci à vous 😊

Bonsoir le fil, bonsoir le forum,

Dis-nous sur quel fichier tu travailles, ça évitera à l'autre de travailler pour rien...

Bonsoir

Je travail sur le fichier de 78Chris

https://forum.excel-pratique.com/d/download?p=1077083&f=49418_62c1da804666c265765828

Encore merci 🙏

Re,

Je laisse à Chris le soin de te répondre... Je reste attentif au cas où il ne passerait pas (ce dont je doute...).

Bonjour

C'est bien ce que j'avais fait dans le fichier mais il semble que je n'ai pas posté le bon fichier

J'en profite pour utiliser le

SpecialCells(xlCellTypeConstants).ClearContents

plus simple proposé par Thauthème que je salue .

Merci à vous

Exactement ce que je chercher 👀

👍✌️

Rechercher des sujets similaires à "vba importation feuille"