Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Synchroniser des colonnes de tableau Excel sur 2 feuilles différentes

Léraud Florian

XLDnaute Junior
Bonjour à tous,

Je vous explique mon petit soucis. J'ai un fichier Excel qui me fais office de bon de commande (feuille 1) et qui comporte un tableau avec plusieurs données (Référence produit, Quantité, Epaisseur....).
Sur une deuxième feuille Excel, je voudrai synchroniser certaines données du tableau de la feuille 1 avec un tableau de ma feuille 2 (mais pas toutes les données de la feuille 1 ne sont nécessaire). Cependant, la taille de mon tableau de la feuille 1 peut être variable et donc celui de la feuille 2 doit l'être aussi. Il n'est PAS nécessaire que la synchronisation se fasse dans le sens inverse.

J'ai essayé l'utilisation de macro mais ça n'a rien donné.

Je vous met en PJ le bon de commande auquel je veux extraire certaines informations (qui sont marquées en vert) et le tableau de commande qui me servira de tableau récapitulatif de tout les bons de commandes.

Je m'excuse de cette formulation hasardeuse

Merci d'avance
 

Pièces jointes

  • Bon de commande modele.xlsx
    31.2 KB · Affichages: 5
  • Tableau des Commandes 1.xlsx
    14.2 KB · Affichages: 6
Solution
à chaque sauvegarde, on peut effacer le Bon de commande pour en faire un autre
VB:
Sub SaveBonDeCommande()
Dim TabCommande() As Variant

With Sheets("Facture de service") 'dans la feuille Facture
    TabCommande = .ListObjects(1).DataBodyRange.Value 'on récupère les données dans un tablo vba
    Client = .Range("C10") 'on récupère l'ID client
    'on peut faire quelques tests avant de continuer; comme vérifier qu'un ID client a bien été saisi
    If Client = "" Then
        MsgBox ("Veuillez saisir un ID Client")
        Exit Sub 'on quitte la macro pour bypasser ce qui suit
    End If
End With
With Sheets("2022") 'dans la feuille 2022
    For i = LBound(TabCommande, 1) To UBound(TabCommande, 1) 'pour chaque ligne de commande...

Léraud Florian

XLDnaute Junior
Juste une autre petite question, est ce qu'il est possible d'adapter le nombre de ligne du tableau du bon de commande en fonction de nombre de produits que l'on veut pour éviter qu'il n'y ai des lignes vides dans le tableau de la feuille de 2022 ou faut-il supprimer les lignes à la mains ?
 

TooFatBoy

XLDnaute Barbatruc
Il y a le bouton, pis sinon tu te mets sur la dernière cellule du tableau de données (colonne "Prix Total", ligne juste avant la ligne des totaux) et tu appuies sur la touche "Tab", pour ajouter une ligne.

Pour supprimer une ligne, tu as le bouton, pis sinon tu mets le curseur de la souris en début de ligne et quand il a la forme d'une flèche vers la droite, tu fais un clic droit et "Supprimer \ Lignes de tableau".
 
Dernière édition:

Léraud Florian

XLDnaute Junior
Super , merci à toi pour ton aide =)
 

Léraud Florian

XLDnaute Junior
Une dernière petite chose, est ce que les boutons "vbYesNo" sont liés ?

Je m'explique, j'ai deux boutons vbYesNo dans mon code, le premier me sert à confirmer ou non la copie des données du Bon de Commande vers le Tableau de Commande et le second me sert à réinitialiser le tableau du Bon de Commande. Cependant, j'ai l'impression que c'est boutons on la même "variable" puisque quand j'appuis sur le second vbYesNo, il me copie quand même les données dans le Tableau de Commande.

Y a-t-il un moyen de créer un autre bouton vbYesNo qui ne soit pas relié au premier ?

Je vous met le code en PJ,

Merci d'avance =)
 

Pièces jointes

  • Bon de commande modele opérationnel.xlsm
    47 KB · Affichages: 1

TooFatBoy

XLDnaute Barbatruc
Une dernière petite chose, est ce que les boutons "vbYesNo" sont liés ?
Les boutons Yes et No sont normalement dans une fenêtre pour permettre à l'utilisateur de répondre Oui ou Non, et le code gère la réponse juste après que l'utilisateur ait cliqué sur un des deux boutons.
Donc normalement il n'y a pas d'interaction de l'un sur l'autre.

Il faut peut-être revoir le code qui réagit aux réponses de l'utilisateur.


ps : comme dit précédemment, des tableaux vides, c'est beaucoup moins pratique pour faire les tests (surtout pour tester comme se passe une copie de données).
 

Léraud Florian

XLDnaute Junior
Ok ça marche, je vais regarder ça de plus près alors ^^

Merci =)
 

TooFatBoy

XLDnaute Barbatruc
Je viens de tester, et tout semble se passer correctement. Du moins, au niveau de la gestion des réponses de l'utilisateur (clic sur les boutons Oui ou Non).


En revanche, si le tableau comporte 7 lignes et que seule la première est remplie, ça écrit quand même 7 lignes dans le tableau de récap...
ps : juste je signale ce petit souci, même si j'ai bien compris que ce n'est pas le pb actuel et que le développement n'est pas terminé.
 

TooFatBoy

XLDnaute Barbatruc
En fait ce que je voudrai éviter, c'est que lorsque je clique sur "oui" pour effacer le Bon de Commande, celui-ci ne colle pas les données dans le Tableau de Commande juste après.
J'pige pô : la question sur la copie des données est avant celle sur l'effacement du bon, donc l'action de copie ou non a déjà été effectuée avant qu'on réponde à la question sur l'effacement.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…