Microsoft 365 Cellules avec formules ne fonctionnant pas avec une macro

Mbersier18

XLDnaute Nouveau
J’ai créé un tableau pour saisir une commande et exporter les données de saisie sur une base de données (Feuille Saisie Commande).

Le tableau de Bord sert à lancer le Formulaire de saisie.

Après avoir rempli le formulaire de saisie, j’utilise le Bouton Transférer les données dans SAISIE COMMANDE.

Toutes les données sont transférées correctement dans la Feuille Saisie Commande.

Par contre dans celle-ci les colonnes N – O et R – S qui contiennent une formule de RECHERCHEV ne se mettent pas jour. Il faut refaire une saisie directement dans les cellules des colonnes L - M et P - Q et ainsi la RECHERCHEV se met à jour.

Je ne comprends pas pourquoi la macro ne met pas à jour les colonnes N – O - R et S automatiquement.

Merci d’avance de votre aide à ce sujet.

Je joints le ficher neutre pour vous permettre de faire des tests.

Avec mes meilleures salutations.

Marcel Bersier
 

Pièces jointes

  • T E S T SAISIE DES ORDRES CLIENTS.xlsm
    420.2 KB · Affichages: 12

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour MBersier,
Bonjour Roblochon. Eh oui, la politesse se perd. :)

Ceci dit, la variable txtDiametreFilBas est en format texte, comme son nom l'indique.
Donc pour toute variable numérique, faire précéder par Val :
VB:
ActiveCell.Offset(0, 10).Value = Val(txtDiametreFilBas)
Ça devrait améliorer les choses.
 

chris

XLDnaute Barbatruc
Bonjour à tous

Il faut travailler avec des tableaux structurés : les formules se recopieront naturellement et le code sera simplifié

J'ai mis sous forme de tableaux Commandes et Clients mais toutes les tables de références devraient l'être

J'ai adapté le code car tout était en texte mais il faudrait ajouter des contrôles de saisie
 

Pièces jointes

  • COMMANDES CLIENTS.xlsm
    434 KB · Affichages: 6

Mbersier18

XLDnaute Nouveau
Bonjour MBersier,
Bonjour Roblochon. Eh oui, la politesse se perd. :)

Ceci dit, la variable txtDiametreFilBas est en format texte, comme son nom l'indique.
Donc pour toute variable numérique, faire précéder par Val :
VB:
ActiveCell.Offset(0, 10).Value = Val(txtDiametreFilBas)
Ça devrait améliorer les choses.

Bonjour Sylvanu,
Merci beaucoup pour la syntaxe de ma macro. Elle fonctionne parfaitement.
Excellente et rapide solution à mon problème.
Très bonne journée et merci encore.
Marcel
 

Mbersier18

XLDnaute Nouveau
Bonjour à tous

Il faut travailler avec des tableaux structurés : les formules se recopieront naturellement et le code sera simplifié

J'ai mis sous forme de tableaux Commandes et Clients mais toutes les tables de références devraient l'être

J'ai adapté le code car tout était en texte mais il faudrait ajouter des contrôles de saisie

Merci beaucoup Chris,
Je vais évidemment regarder de près ce tutoriel des tableaux structurés.
Excellente journée et merci encore.
Marcel
 

Discussions similaires

Réponses
9
Affichages
391

Statistiques des forums

Discussions
312 085
Messages
2 085 196
Membres
102 814
dernier inscrit
JLGalley