Microsoft 365 Code VBA Bon Commande

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mld.sebastien

XLDnaute Junior
Bonjour,

Je cherche un code VBA pour autant de ligne dans le bon de commande.

Pour chaque textbox : Tbx_Quantité , Tbx_Prix qui ce multiplie et donne un Montant en Tbx_Montant.
Et à la fin un Tbx_Total en additionnant les Montant.

Je l'ai fait pour chaque ligne comme cela :

VB:
Private Sub Tbx_Prix1_Change()
    Tbx_Montant1.Value = Format(Tbx_Quantie1.Value * Tbx_Prix1.Value, "#,##0.00 €")
End Sub

Private Sub Tbx_Montant1_Change()
    Tbx_Total.Value = Format(Tbx_Montant1.Value + Tbx_Montant2.Value, "#,##0.00 €")
End Sub

Je cherche si il y pas plus simple ??

@job75 m'avait super bien aider à un moment je le remercie d'ailleurs, j'utilise toujours tous le temps ses codes.

Cordialement.
 
Solution
Hello

remplace le code du combo par celui ci
VB:
Private Sub Lst_NomPrénom_Change() 'lorsque la selection change dans le combo
    If Me.Lst_NomPrénom.ListIndex = -1 Then 'si il n'y a pas de selection OU qu'il y a une saisie ne correspondant pas à la liste du combo
        Me.Tbx_DateAnniverssaire = " "
        Me.Tbx_Adresse = " "
        Me.Tbx_Téléphone = " "
        Me.Tbx_Mail = " "
        Exit Sub
    End If
    With Sheets("Lst_Clients") 'avec la feuille
        With .ListObjects("Lst_tab_Clients") 'avec la table
            Set trouve = .ListColumns("Nom Prénom").Range.Find(Me.Lst_NomPrénom, lookat:=xlWhole, LookIn:=xlValues) 'on cherche le Nom Prénom dans la colonne
            If Not trouve Is Nothing Then 'si on l'a trouvé...
Bonjour,

Je suis toujours sur mon bon de commande, j'ai un truc que je comprend pas.

Je voudrais sélectionner dans mon Combobox(Cbx_NomPrenom) le Nom Prénom aucun souci et mettre la date dans un autre combobox(Cbx_DateCommande) c’a fonctionne, par contre quand je veux sélectionner une nom prénom pour remplir ma date celui-ci prend toute les dates peu importe le nom prénom. et quand je sélectionne ma date les valeur vont dans le tableau mais si je change de date cela s’incrémente au lieu d'effacer les valeur dans le tableau et mettre les informations de la nouvelle date.

C'est sous l'onglet Bon de commande, peut-tu me dire pourquoi??

Et mon userform (création commande) le mieux serais ?
1 - Faire une vérification dans le tableau si cela existe déjà quand je valide mon Formulaire.
2 - Faire une vérification dans le tableau si cela existe quand je rentre l'information dans le texbox références et remplis mon champ articles.
 

Pièces jointes

Dernière édition:
Bonjour

les lignes sont copiées les unes en dessous des autres à cause de ceci
VB:
' Nettoyer les anciennes données dans Feuil1 ([B]facultatif[/B])
il faut donc vider le bon de commande avant de le remplir à nouveau..

remplace tout ton code par celui ci. le tiens tourne en rond quand tu actives la feuille
Code:
Public EnableEvents As Boolean
Private Sub Worksheet_Activate()
    Application.EnableEvents = False
    EnableEvents = False
    
    Feuil1.Cbx_NomPrenom.Clear
    Feuil1.Cbx_DateCommande.Clear
    
    With Sheets("Lst_Clients").ListObjects("Lst_Tab_Clients")
        If .ListRows.Count = 0 Then Exit Sub 'pour éviter une erreur quand rien à mettre
        For i = 1 To .ListRows.Count 'pour chaque ligne
            Me.Cbx_NomPrenom.Value = .DataBodyRange(i, 4)
            If Me.Cbx_NomPrenom.ListIndex = -1 Then Me.Cbx_NomPrenom.AddItem Me.Cbx_NomPrenom.Value
        Next i
    End With
    
    With Sheets("Evt_Achat").ListObjects("Lst_Tab_Achat")
        If .ListRows.Count = 0 Then Exit Sub 'pour éviter une erreur quand rien à mettre
        For i = 1 To .ListRows.Count 'pour chaque ligne
            Me.Cbx_DateCommande.Value = .DataBodyRange(i, 3)
            If Me.Cbx_DateCommande.ListIndex = -1 Then Me.Cbx_DateCommande.AddItem Me.Cbx_DateCommande.Value
        Next i
    End With
    EnableEvents = True
    Application.EnableEvents = True
    Me.Cbx_NomPrenom.ListIndex = -1
    Me.Cbx_DateCommande.ListIndex = -1
End Sub

Private Sub Cbx_DateCommande_Change() ' Lors de la sélection change dans le combo
Dim trouve As Range
Dim ligne As Long
Dim i As Long
Dim ligneTable As Long
Dim nbArticles As Long
Dim lastRow As Long
Dim found As Boolean
    
    If Not EnableEvents Then Exit Sub
    If Me.Cbx_NomPrenom.ListIndex = -1 Then 'si il n'y a pas de selection OU qu'il y a une saisie ne correspondant pas à la liste du combo
        Me.Lbl_NomPrenom = ""
        Me.Lbl_Téléphone = ""
        Me.Lbl_Mail = ""
        Me.Lbl_Adresse = ""
        Me.Lbl_DateAnniverssaire = ""
        Me.Lbl_DateCommande = ""
        Me.Chx_virement = ""
        Me.Chx_Chèque = ""
        Me.Chx_Espèces = ""
        Me.Chx_Paylib = ""
        Me.Lbl_NumCommande = ""
        Me.Range("B13:F34") = ""
        Exit Sub
    End If
        
    ' Recherche dans la feuille "Lst_Clients"
    With Sheets("Lst_Clients").ListObjects("Lst_Tab_Clients")
        ' Cherche le "Nom Prénom" dans la colonne correspondante
        Set trouve = .ListColumns("Nom Prénom").Range.Find(Me.Cbx_NomPrenom.Value, LookAt:=xlWhole, LookIn:=xlValues)
        If Not trouve Is Nothing Then ' Si trouvé
            ligne = trouve.Row - .Range.Row '+ 1 Calculer la ligne de la table
            ' Remplir les labels avec les valeurs de la table
            Me.Lbl_NomPrenom = .ListColumns("Nom Prénom").DataBodyRange(ligne)
            Me.Lbl_Téléphone = .ListColumns("Téléphone").DataBodyRange(ligne)
            Me.Lbl_Mail = .ListColumns("Mail").DataBodyRange(ligne)
            Me.Lbl_Adresse = .ListColumns("Adresse").DataBodyRange(ligne) & " " & .ListColumns("Code Postal").DataBodyRange(ligne) & " " & .ListColumns("Ville").DataBodyRange(ligne)
            Me.Lbl_DateAnniverssaire = .ListColumns("Date Anniversaire").DataBodyRange(ligne)
        End If
    End With
    
    ' Recherche dans la feuille "Evt_Achat"
    With Sheets("Evt_Achat").ListObjects("Lst_Tab_Achat")
        ' Cherche le "Date de Commande" dans la colonne correspondante
         Set trouve = .ListColumns("Date de Commande").Range.Find(Me.Cbx_DateCommande.Value, LookAt:=xlWhole, LookIn:=xlValues)
         If Not trouve Is Nothing Then ' Si trouvé
             ligne = trouve.Row - .Range.Row '+ 1 Calculer la ligne de la table
             ' Remplir les labels avec les valeurs de la table
             Me.Lbl_DateCommande = .ListColumns("Date de Commande").DataBodyRange(ligne)
             Me.Lbl_NumCommande = Format(.ListColumns("NumCommande").DataBodyRange(ligne), "0000")
             Me.Chx_virement = .ListColumns("Virement").DataBodyRange(ligne)
             Me.Chx_Chèque = .ListColumns("Chèque").DataBodyRange(ligne)
             Me.Chx_Espèces = .ListColumns("Espèces").DataBodyRange(ligne)
             Me.Chx_Paylib = .ListColumns("Paylib").DataBodyRange(ligne)
         End If
    End With
    
    ' Nettoyer les anciennes données dans Feuil1 (facultatif)
    Me.Range("B13:F34") = ""
    nbArticles = 0
    found = False

    ' Trouver la dernière ligne utilisée pour coller les nouvelles données
    lastRow = Sheets("Bon Commande").Cells(Rows.Count, 2).End(xlUp).Row + 1

    ' Parcourir les lignes du tableau pour trouver les articles correspondant à la date
    With Sheets("Evt_Achat").ListObjects("Lst_Tab_Achat")
        If .ListRows.Count = 0 Then Exit Sub ' Si le tableau est vide, sortir de la fonction
        
        For ligneTable = 1 To .ListRows.Count
            If Trim(.DataBodyRange(ligneTable, 3).Value) = Me.Cbx_DateCommande.Value Then ' Colonne 3 = Date de Commande
                'nbArticles = nbArticles + 1
                found = True ' Au moins une référence a été trouvée
                If nbArticles <= 10 Then ' Limite de 10 articles à afficher
                    ' Remplir les cellules correspondantes sur Feuil1
                    Sheets("Bon Commande").Cells(lastRow, 2).Value = .DataBodyRange(ligneTable, Sheets("Evt_Achat").ListObjects("Lst_Tab_Achat").ListColumns("Références").Index).Value ' Référence
                    Sheets("Bon Commande").Cells(lastRow, 3).Value = .DataBodyRange(ligneTable, Sheets("Evt_Achat").ListObjects("Lst_Tab_Achat").ListColumns("Articles").Index).Value ' Articles
                    Sheets("Bon Commande").Cells(lastRow, 4).Value = .DataBodyRange(ligneTable, Sheets("Evt_Achat").ListObjects("Lst_Tab_Achat").ListColumns("Quantité").Index).Value ' Quantité
                    Sheets("Bon Commande").Cells(lastRow, 5).Value = .DataBodyRange(ligneTable, Sheets("Evt_Achat").ListObjects("Lst_Tab_Achat").ListColumns("Prix").Index).Value ' Prix
                    Sheets("Bon Commande").Cells(lastRow, 6).Value = .DataBodyRange(ligneTable, Sheets("Evt_Achat").ListObjects("Lst_Tab_Achat").ListColumns("Montant").Index).Value ' Montant
                    lastRow = lastRow + 1 ' Passer à la ligne suivante pour le prochain article
                End If
            End If
        Next ligneTable
    End With
End Sub
 
Ah mince, je comprend mieux. Par contre j'ai toujours le problème quand je sélectionne le NomPrenom via Cbx_NomPrenom, j'ai toute les dates de commande mais pas celui en rapport avec le Nomprenom sélectionner et certaine information comme date de commande, mode de paiements et numéro de commande s'affiche pas pourtant les autres le font mais pas cela. Bisard.
 
Désolé,

1 - Quand tu es sur l'onglet de la feuille Bon Commande les deux Combo(Cbx_NomPrenom et Cbx_DateCommande), je sélectionne Nom1Prenom1 du Combo(Cbx_NomPrenom) il devrait afficher dans le combo(Cbx_DateCommande) que les dates avec le Nom1Prenom1 sauf que la, il affiche toute les dates peux importe la sélection du Combo (Cbx_NomPrenom). C'est informations sont récupérer sous l'onglet EVT_Achat.

2 - Dans l'Userform la textbox (Tbx_Reference1) serais-t'il pas mieux de recherche dans le tableau de l'onglet Lst_Articles la réference si elle existe ou pas et si elle existe remplir les textbox(Tbx_Reference et Tbx_Articles).

Cordialement
 
pour le 1, il suffit de
1) ne pas remplir le combo date à l'activate
2) le remplir quand tu selectionnes un nomprénom avec les lignes qui correspondent au nomprénom

VB:
Private Sub Worksheet_Activate()
    Application.EnableEvents = False
    EnableEvents = False
   
    Feuil1.Cbx_NomPrenom.Clear
    Feuil1.Cbx_DateCommande.Clear
   
    With Sheets("Lst_Clients").ListObjects("Lst_Tab_Clients")
        If .ListRows.Count = 0 Then Exit Sub 'pour éviter une erreur quand rien à mettre
        For i = 1 To .ListRows.Count 'pour chaque ligne
            Me.Cbx_NomPrenom.Value = .DataBodyRange(i, 4)
            If Me.Cbx_NomPrenom.ListIndex = -1 Then Me.Cbx_NomPrenom.AddItem Me.Cbx_NomPrenom.Value
        Next i
    End With
   
'    With Sheets("Evt_Achat").ListObjects("Lst_Tab_Achat")
'        If .ListRows.Count = 0 Then Exit Sub 'pour éviter une erreur quand rien à mettre
'        For i = 1 To .ListRows.Count 'pour chaque ligne
'            Me.Cbx_DateCommande.Value = .DataBodyRange(i, 3)
'            If Me.Cbx_DateCommande.ListIndex = -1 Then Me.Cbx_DateCommande.AddItem Me.Cbx_DateCommande.Value
'        Next i
'    End With
    EnableEvents = True
    Application.EnableEvents = True
    Me.Cbx_NomPrenom.ListIndex = -1
    Me.Cbx_DateCommande.ListIndex = -1
End Sub
Private Sub Cbx_NomPrenom_change()
If Not EnableEvents Then Exit Sub
Feuil1.Cbx_DateCommande.Clear
    With Sheets("Evt_Achat").ListObjects("Lst_Tab_Achat")
        If .ListRows.Count = 0 Then Exit Sub 'pour éviter une erreur quand rien à mettre
        For i = 1 To .ListRows.Count 'pour chaque ligne
            If .DataBodyRange(i, 2) = Me.Cbx_NomPrenom Then
                Me.Cbx_DateCommande.Value = .DataBodyRange(i, 3)
                If Me.Cbx_DateCommande.ListIndex = -1 Then Me.Cbx_DateCommande.AddItem Me.Cbx_DateCommande.Value
            End If
        Next i
    End With
End Sub

pour le 2: et bien.. idem.. avant d'enregistrer, il faut
1) chercher la ref
==> si elle existe==> enregistrer à la ligne "trouve.row"
==> sinon==> ajouter une ligne et enregistrer à cette nouvelle ligne

set trouve=listcolumns(2).range.find(Refachercher)
if not trouve is nothing then
ligne=trouve.row - .range.row
else
ligne=.listrows.add.index
end if
'sauvegarde des infos
.databodyrange(ligne,1)= ....
 
C'est pourtant ce que j'ai pour le 2, mais peut être pas ces pas bon vue qu'il est sur le Btn-valid alors qu'il devrait être sur les textbox Me.Controls("Tbx_Reference" & i) à chaque sortis de texbox je pense.

VB:
Public Sub btn_valid_Click() 'Bouton valider

'*******************************
    'Controls de saisie
    If Not IsDate(Text_DateCommande) Then 'on vérifie qu'il y a une selection Demande
        MsgBox ("La date de commande n'est pas renseingée")
        Text_DateCommande.SetFocus
        Exit Sub
    End If
    If Lst_NomPrénom = "" Then 'on vérifie qu'il y a une selection Demande
        MsgBox ("La Sélection Nom Prénom n'est pas correcte")
        Lst_NomPrénom.SetFocus
        Exit Sub
    End If

    'Tableau Insertion données
    With Sheets("Evt_Achat").ListObjects("Lst_Tab_Achat")
        For i = 1 To 10 'pour chaque ligne du bon de commande
            If Me.Controls("Tbx_Reference" & i) <> "" Then
                LastLine = .ListRows.Add.Index
                .ListColumns("NMR").DataBodyRange(LastLine) = WorksheetFunction.Max(.ListColumns("NMR").DataBodyRange) + 1 ' NMR
                .ListColumns("Nom Prénom").DataBodyRange(LastLine) = Me.Lst_NomPrénom ' Nom Prénom
                .ListColumns("Date De Commande").DataBodyRange(LastLine) = CDate(Me.Text_DateCommande) ' Date Commande
                .ListColumns("Références").DataBodyRange(LastLine) = Me.Controls("Tbx_Reference" & i) ' Réference
                .ListColumns("Articles").DataBodyRange(LastLine) = Me.Controls("Tbx_Articles" & i) ' Articles
                .ListColumns("Quantité").DataBodyRange(LastLine) = CDbl(Me.Controls("Tbx_Quantite" & i)) ' Quantié
                .ListColumns("Prix").DataBodyRange(LastLine) = CDbl(Me.Controls("Tbx_Prix" & i)) ' Prix 1
                .ListColumns("Montant").DataBodyRange(LastLine) = CDbl(Me.Controls("Tbx_Montant" & i)) ' Montant
                .ListColumns("NumCommande").DataBodyRange(LastLine) = Format(Me.Tbx_NumCommande, "0000")
                .ListColumns("Virement").DataBodyRange(LastLine) = Me.Cbx_Virement ' Virement
                .ListColumns("Chèque").DataBodyRange(LastLine) = Me.Cbx_Chèque ' Chèque
                .ListColumns("Espèces").DataBodyRange(LastLine) = Me.Cbx_Espèces ' Espèces
                .ListColumns("Paylib").DataBodyRange(LastLine) = Me.Cbx_Paylib ' Paylib
            End If
        Next i
    End With

    With Sheets("Lst_Articles").ListObjects("Lst_Tab_Articles")
    Set trouve = .ListColumns("Références").Range.Find(Me.Controls("Tbx_Reference" & i), LookAt:=xlWhole, LookIn:=xlValues) 'on cherche le Reference dans la colonne
            If Not trouve Is Nothing Then 'si on l'a trouvé
                ligne = trouve.Row - .Range.Row 'numéro de ligne
            Else
                ligne = .ListRows.Add.Index
            End If
        For i = 1 To 10 'pour chaque ligne du bon de commande
            If Me.Controls("Tbx_Reference" & i) <> "" Then
                LastLine = .ListRows.Add.Index
                .ListColumns("NMR").DataBodyRange(LastLine) = WorksheetFunction.Max(.ListColumns("NMR").DataBodyRange) + 1 ' NMR
                .ListColumns("Références").DataBodyRange(LastLine) = Me.Controls("Tbx_Reference" & i) ' Réference
                .ListColumns("Articles").DataBodyRange(LastLine) = Me.Controls("Tbx_Articles" & i) ' Articles
            End If
        Next i
    End With
   
'*******************************
   MsgBox ("Le Bon de Commande est Créer " & vbCrLf & vbCrLf & "Pour " & Me.Lst_NomPrénom & vbCrLf & vbCrLf & "Commande N°: " & Me.Tbx_NumCommande)
End Sub

Je met la dernière version du fichier.
 

Pièces jointes

Dernière édition:
Ca fonctionne un peu, quand il y a une seul référence(ref1) cela écris dessus comme une modification sans me dire qu'elle existe déjà , par contre quand j’écris deux référence(ref1 et ref2) cela incrémente deux ligne avec comme même l'information la ref1 dans une nouvelle ligne. Je beug.

VB:
    With Sheets("Lst_Articles").ListObjects("Lst_Tab_Articles")
        For i = 1 To 10 'pour chaque ligne du bon de commande
            If Me.Controls("Tbx_Reference" & i) <> "" Then
                Set trouve = .ListColumns("Références").Range.Find(Me.Controls("Tbx_Reference" & i).Value, LookAt:=xlWhole, LookIn:=xlValues)
                    If Not trouve Is Nothing Then
                        LastLine = trouve.Row - .Range.Row + 1
                    Else
                        LastLine = .ListRows.Add.Index
                    End If
                .ListColumns("NMR").DataBodyRange(LastLine) = WorksheetFunction.Max(.ListColumns("NMR").DataBodyRange) + 1 ' NMR
                .ListColumns("Références").DataBodyRange(LastLine) = Me.Controls("Tbx_Reference" & i) ' Réference
                .ListColumns("Articles").DataBodyRange(LastLine) = Me.Controls("Tbx_Articles" & i) ' Articles
            End If
        Next i
    End With

C'est dans le Public Sub btn_valid_Click() quand je valide mon Userform mais je voudrais plus en sortant de mon combobox réference
 
Dernière édition:
Oui j'ai deux souci.

1 - Ce code est dans VBA sous Feuill1(Bon_Command) :
Le code que tu ma envoyer tous à l'heure fonctionne oui, mais je comprend pas quand je sélectionne le Nom2Prenom2 il affiche la date ou les dates mais quand je sélectionne la date 11/04/2025 par exemple il me prend la date 11/04/2025 + la date du 04/04/2025 .

2 - Ce code est dans VBA Userform BOX_CREATION_BON_COMMANDE
Quand je click sur valider j'ai mis cela :

Code:
With Sheets("Lst_Articles").ListObjects("Lst_Tab_Articles")
        For i = 1 To 10 'pour chaque ligne du bon de commande
            If Me.Controls("Tbx_Reference" & i) <> "" Then
                Set trouve = .ListColumns("Références").Range.Find(Me.Controls("Tbx_Reference" & i).Value, LookAt:=xlWhole, LookIn:=xlValues)
                    If Not trouve Is Nothing Then
                        LastLine = trouve.Row - .Range.Row + 1
                    Else
                        LastLine = .ListRows.Add.Index
                    End If
                .ListColumns("NMR").DataBodyRange(LastLine) = WorksheetFunction.Max(.ListColumns("NMR").DataBodyRange) + 1 ' NMR
                .ListColumns("Références").DataBodyRange(LastLine) = Me.Controls("Tbx_Reference" & i) ' Réference
                .ListColumns("Articles").DataBodyRange(LastLine) = Me.Controls("Tbx_Articles" & i) ' Articles
            End If
        Next i
    End With

Je recherche la reference dans mon tableau Lst_Articles si elle existe remplir mon articles dans le tableau Lst_Articles sinon ajouter une ligne et enregistrer à cette nouvelle ligne.

Je beug, trop dessus depuis ce matin j'ai plus les yeux enfaces des trous lolll.

Je met le fichier, test .
 

Pièces jointes

t'es en train de tout mélanger et de faire n'importe quoi ..

créer un bon de commande = enregistrer dans la feuille "Evt_Achat" autant de lignes (avec le meme numéro de commande) qu'il y a de ref saisies..
il n'est pas question d'ajouter ou remplacer des reférences dans la feuille "Lst_Article"

en gros; le USF_Bonde commande te permet de choisir une ou plusieurs réf a mettre dans UN bon de commande

si tu veux modifier UN article, c'est dans un USF qui n'exsiste pas...
 
Bonjour,

Oui sais dans ce sens que je voudrais je m'exprime mail désoler un mélange tu as raison.

Les références dans la feuille "Lst_Article" vient du USF_Création Bon de commande qui devrait vérifier si existe ou pas(ces pas le cas) et quand je vais sur l'onglet Bon Commande pour editer celui-ci je met ref dans un bon de commande via le NomPrenom et Date(Problème avec la sélection date).

Je sais pas si je m'exprime bien, Je comprend la chose mais pour expliquer suis pas top.

As tu tester le fichier??
 

Pièces jointes

Bonjour
essaie ceci,
j'ai créé un nouveau formulaire pour créer de nouvelles refs (ou modifier la désignation d'une ref existante)

dans le formulaire bon de commande, les textbox de ref sont remplacées par des combo pour selectionner les ref existantes
un bouton "Créer nouvelle Ref" pour basculer sur le nouveau formulaire
 

Pièces jointes

Désolé,

1 - Quand tu es sur l'onglet de la feuille Bon Commande les deux Combo(Cbx_NomPrenom et Cbx_DateCommande), je sélectionne Nom1Prenom1 du Combo(Cbx_NomPrenom) il devrait afficher dans le combo(Cbx_DateCommande) que les dates avec le Nom1Prenom1 sauf que la, il affiche toute les dates peux importe la sélection du Combo (Cbx_NomPrenom). C'est informations sont récupérer sous l'onglet EVT_Achat.

2 - Dans l'Userform la textbox (Tbx_Reference1) serais-t'il pas mieux de recherche dans le tableau de l'onglet Lst_Articles la réference si elle existe ou pas et si elle existe remplir les textbox(Tbx_Reference et Tbx_Articles).

Cordialement

Bonjour
essaie ceci,
j'ai créé un nouveau formulaire pour créer de nouvelles refs (ou modifier la désignation d'une ref existante)

dans le formulaire bon de commande, les textbox de ref sont remplacées par des combo pour selectionner les ref existantes
un bouton "Créer nouvelle Ref" pour basculer sur le nouveau formulaire
vgendron,mld.sebastien, le Forum, bonjour.
Bien que je n'ai jamais eu un retour de mld.sebastien, je propose le fichier joint.
Merci de me faire un retour.
Cordialement.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
89
Réponses
6
Affichages
154
Réponses
3
Affichages
248
Retour