1 bouton pour plusieurs commandes simultanées

Bonjour,

Je reviens vers vous avec ce nouveau post pour vous demande encore un petit (ou gros) coup de main.

Mon problème recentrent était au niveau des liste déroulantes conditionnées .( problème résolue.

Néanmoins , j'ai une autre demande qui est toujours sur le même classeur.

Cette fois ci, c'est au sujet de l’élaboration d'une macro de copie coller (en soit pas trop compliqué...enfin presque...lol.) .

Seulement-là, il faut copier d'un tableau différentes information (cellule) dans d'autres tableaux qui se trouvent sur d'autres feuille du classeur.

J'ai mis en PJ mon fichier.(.xslm).

Il y a actuellement 3 boutons de commandes et c'est sur le troisième que j'aimerais avoir de l'aide.

Ce boutons devra effectuer plusieurs commande:

> Plusieurs copié-collé uniquement de cellules pleines((non-vide).

> Déverrouiller les cellules verrouillées et les reverrouiller ensuite en fin de process.

> et effacer les données se trouvant dans les cellules copiées.

J'ai mis des légendes dans le fichier joint.

J’espère ne pas avoir été trop brouillon.

Merci par avance

Cordialement

Manu.

PS; Je suis ouvert à toutes remarque et suggestion au niveau de l’esthétique de mon classeur....lol..

Bonjour,

...l’esthétique de mon classeur...

On se croirait dans la chambre de ma fille quand elle était ado

C'est bon...

A+

Bonjour Galopin01,

Que veux-tu , j'ai garder mon talent créatif de mes 5 ans ...

Re bonjour,

Sinon avez-vous une solution pour mon probleme ?

Bonjour à toutes et à tous,

Au cas ou vous ne vouliez pas télécharger mon fichier.Voici la macro ou je dois integrer les autres commandes.

Sub TEST0()
'
' TEST0 Macro
'

'Copie de la date dans dans l'onglet RECAP_VENTE_MENSUEL

    Sheets("Tableau").Select
    Range("S21").Select
    Selection.Copy
    Sheets("RECAP_VENTE_MENSUEL").Select
    Range("A1").End(xlDown).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

'Copie resultat vente dans dans l'onglet RECAP_VENTE_MENSUEL

    Sheets("Tableau").Select
    Range("L21:Q21").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("RECAP_VENTE_MENSUEL").Select
    Range("B1").End(xlDown).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False

'Copie vente dans dans l'onglet ACHAT Client

    Sheets("Tableau").Select
    Range("A23:E23").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("ACHAT Client").Select
    Range("A1").End(xlDown).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

'Copie vente dans dans l'onglet ACHAT Client - Quantité

    Sheets("Tableau").Select
    Range("K23").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("ACHAT Client").Select
    Range("F1").End(xlDown).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

'Copie vente dans dans l'onglet RECAP_VENTE_ANNUEL -

    Sheets("Tableau").Select
    Range("A23:Q23").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("RECAP_VENTE_ANNUEL").Select
    Range("A1").End(xlDown).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False

'Suppression des valeurs de Date -produit-typedeproduit-contenance-quantite-reduction

    Sheets("Tableau").Select
    Range("A23:Q23").Select
    Application.CutCopyMode = False
    Selection.ClearContents
End Sub

bonjour a toutes et à tous,

Bon bin , toujours pas de réponse ..

Tant pis je vais poster sur un autre forum pour voir si ils peuvent me répondre.

Je reste quand même parmi vous puisqu'il a de bon tuto.

Bonjour à tous,

Étant donné que galopin01 n'est pas revenu car il ne semble pas encore avoir réussi à convaincre sa fille de faire le ménage de sa chambre ...

Voici un essai ...

Sub TEST0()
Dim ShT As Worksheet
Dim ShRVM As Worksheet
Dim ShAC As Worksheet
Dim ShRCA As Worksheet
Dim DLig As Integer
Dim DLigT As Integer
Dim X As Integer

    Set ShT = Worksheets("Tableau")
    Set ShRVM = Worksheets("RECAP_VENTE_MENSUELLE")
    Set ShAC = Worksheets("ACHAT Client")
    Set ShRVA = Worksheets("RECAP_VENTE_ANNUELLE")

    'Copie de la date dans dans l'onglet RECAP_VENTE_MENSUEL

    DLig = ShRVM.Cells(Rows.Count, "A").End(xlUp).Row + 1
    ShT.Range("S21").Copy
    ShRVM.Range("A" & DLig).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                                                                                  :=False, Transpose:=False

    'Copie resultat vente dans dans l'onglet RECAP_VENTE_MENSUEL

    ShT.Range("L21:Q21").Copy
    ShRVM.Range("B" & DLig & ":G" & DLig).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
                                                       xlNone, SkipBlanks:=False, Transpose:=False

    DLigT = ShT.Cells(Rows.Count, "A").End(xlUp).Row
    For X = 23 To DLigT         ' boucle sur les lignes de la feuille tableau
        If ShT.Range("A" & X) <> "" Then        ' si A n'est pas vide ...

            'Copie vente dans dans l'onglet ACHAT Client

            ShT.Range("A" & X & ":E" & X).Copy
            DLig = ShAC.Cells(Rows.Count, "A").End(xlUp).Row + 1
            ShAC.Range("A" & DLig & ":E" & DLig).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                                                                                                       :=False, Transpose:=False

            'Copie vente dans dans l'onglet ACHAT Client - Quantité

            ShT.Range("K" & X).Copy
            ShAC.Range("F" & DLig).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                                                                                         :=False, Transpose:=False

            'Copie vente dans dans l'onglet RECAP_VENTE_ANNUEL -

            ShT.Range("A" & X & ":Q" & X).Copy
            DLig = ShRVA.Cells(Rows.Count, "A").End(xlUp).Row + 1
            ShRVA.Range("A" & DLig & ":Q" & DLig).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
                                                               xlNone, SkipBlanks:=False, Transpose:=False
        End If
    Next X

    'Suppression des valeurs de Date -produit-typedeproduit-contenance-quantite-reduction
    ShT.Range("A23:Q" & DLigT).ClearContents
End Sub

ric

Bonjour,

Bonjour ric : j'ai bien vu que tu venais de passer, je venais de terminer ma réponse après une 'tite semaine de vacances et j'ai du m'interrompre... Je laisse quand même mon commentaire...

Désolé si je t'ai un peu cassé le sujet ! Mébon... je considère que tu es bien mal parti et il faudrait attaquer le problème comme la chambre de ma fille : Tout par la fenêtre et repartir sur des bases saines.

Mais j'avoue que je n'ai pas de point de départ à te proposer car ce que tu as fait ne me permet pas de suivre un fil directeur :

Ta fiche client n'est pas une fiche client mais un embryon de base de donnée.

Ta BDD n'est pas une base de donnée mais une feuille de paramètres et le reste est très fouillis.

Tu sembles n'avoir aucune base de VBA, pas la moindre optimisation, que de l'enregistreur. Avec ça je ne sais pas quoi dire.

C'est tout sauf un problème d'esthétique. Donc : Jet de l'éponge !

On peut pas t'empêcher d'aller voir ailleurs si la cuisine est meilleure mais à mon avis les mêmes causes conduisant aux mêmes effets tu risques de tomber sur la même situation... Bon enfin c'est toi qui voit.

A+

Spoiler

Bonjour,

Bonjour ric : j'ai bien vu que tu venais de passer, je venais de terminer ma réponse après une 'tite semaine de vacances et j'ai du m'interrompre... Je laisse quand même mon commentaire...

Désolé si je t'ai un peu cassé le sujet ! Mébon... je considère que tu es bien mal parti et il faudrait attaquer le problème comme la chambre de ma fille : Tout par la fenêtre et repartir sur des bases saines.

Mais j'avoue que je n'ai pas de point de départ à te proposer car ce que tu as fait ne me permet pas de suivre un fil directeur :

Ta fiche client n'est pas une fiche client mais un embryon de base de donnée.

Ta BDD n'est pas une base de donnée mais une feuille de paramètres et le reste est très fouillis.

Tu sembles n'avoir aucune base de VBA, pas la moindre optimisation, que de l'enregistreur. Avec ça je ne sais pas quoi dire.

C'est tout sauf un problème d'esthétique. Donc : Jet de l'éponge !

On peut pas t'empêcher d'aller voir ailleurs si la cuisine est meilleure mais à mon avis les mêmes causes conduisant aux mêmes effets tu risques de tomber sur la même situation... Bon enfin c'est toi qui voit.

A+

Bonsoir galopin01,

Enfin une réponse constructive au bout du deuxième post.

  • Ma connaissance excel et/ou vba est proche de 0 " comme je le dit dans ma présentation" -> c'est bien pour cela que je suis sur ce forum.
  • J'apprend par moi-même en allant a la pèche au info et en me documentant pendant mon, petit temps libre.
  • Pour l’esthétique ce n’était qu'a la base une boutade pour que personne ne s’arrête dessus ..mais bon.!!
  • Le fait de jeter l’éponge - toi si tu veux mais pas moi.
  • Pour ce qui est d'aller voir sur d'autres forum, il est tous simplement le fait de n'avoir eu quasiment aucunes réponses constructive, quelle soient positive ou négative comme la tienne sur mes deux post , (Malgré le nombre de vues)
  • Je ne pense pas que tu soit la seule personne ayant des connaissances sur ce forum ?
Spoiler

Bonjour à tous,

Étant donné que galopin01 n'est pas revenu car il ne semble pas encore avoir réussi à convaincre sa fille de faire le ménage de sa chambre ...

Voici un essai ...

Sub TEST0()
Dim ShT As Worksheet
Dim ShRVM As Worksheet
Dim ShAC As Worksheet
Dim ShRCA As Worksheet
Dim DLig As Integer
Dim DLigT As Integer
Dim X As Integer

    Set ShT = Worksheets("Tableau")
    Set ShRVM = Worksheets("RECAP_VENTE_MENSUELLE")
    Set ShAC = Worksheets("ACHAT Client")
    Set ShRVA = Worksheets("RECAP_VENTE_ANNUELLE")

    'Copie de la date dans dans l'onglet RECAP_VENTE_MENSUEL

    DLig = ShRVM.Cells(Rows.Count, "A").End(xlUp).Row + 1
    ShT.Range("S21").Copy
    ShRVM.Range("A" & DLig).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                                                                                  :=False, Transpose:=False

    'Copie resultat vente dans dans l'onglet RECAP_VENTE_MENSUEL

    ShT.Range("L21:Q21").Copy
    ShRVM.Range("B" & DLig & ":G" & DLig).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
                                                       xlNone, SkipBlanks:=False, Transpose:=False

    DLigT = ShT.Cells(Rows.Count, "A").End(xlUp).Row
    For X = 23 To DLigT         ' boucle sur les lignes de la feuille tableau
        If ShT.Range("A" & X) <> "" Then        ' si A n'est pas vide ...

            'Copie vente dans dans l'onglet ACHAT Client

            ShT.Range("A" & X & ":E" & X).Copy
            DLig = ShAC.Cells(Rows.Count, "A").End(xlUp).Row + 1
            ShAC.Range("A" & DLig & ":E" & DLig).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                                                                                                       :=False, Transpose:=False

            'Copie vente dans dans l'onglet ACHAT Client - Quantité

            ShT.Range("K" & X).Copy
            ShAC.Range("F" & DLig).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                                                                                         :=False, Transpose:=False

            'Copie vente dans dans l'onglet RECAP_VENTE_ANNUEL -

            ShT.Range("A" & X & ":Q" & X).Copy
            DLig = ShRVA.Cells(Rows.Count, "A").End(xlUp).Row + 1
            ShRVA.Range("A" & DLig & ":Q" & DLig).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
                                                               xlNone, SkipBlanks:=False, Transpose:=False
        End If
    Next X

    'Suppression des valeurs de Date -produit-typedeproduit-contenance-quantite-reduction
    ShT.Range("A23:Q" & DLigT).ClearContents
End Sub

ric

Bonjour Ric,

merci pour ton retour.

Je vais essayer de comprendre comment tu as fait et essayer ....

merci et bonne soiree

Spoiler

Bonjour à tous,

Étant donné que galopin01 n'est pas revenu car il ne semble pas encore avoir réussi à convaincre sa fille de faire le ménage de sa chambre ...

Voici un essai ...

Sub TEST0()
Dim ShT As Worksheet
Dim ShRVM As Worksheet
Dim ShAC As Worksheet
Dim ShRCA As Worksheet
Dim DLig As Integer
Dim DLigT As Integer
Dim X As Integer

    Set ShT = Worksheets("Tableau")
    Set ShRVM = Worksheets("RECAP_VENTE_MENSUELLE")
    Set ShAC = Worksheets("ACHAT Client")
    Set ShRVA = Worksheets("RECAP_VENTE_ANNUELLE")

    'Copie de la date dans dans l'onglet RECAP_VENTE_MENSUEL

    DLig = ShRVM.Cells(Rows.Count, "A").End(xlUp).Row + 1
    ShT.Range("S21").Copy
    ShRVM.Range("A" & DLig).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                                                                                  :=False, Transpose:=False

    'Copie resultat vente dans dans l'onglet RECAP_VENTE_MENSUEL

    ShT.Range("L21:Q21").Copy
    ShRVM.Range("B" & DLig & ":G" & DLig).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
                                                       xlNone, SkipBlanks:=False, Transpose:=False

    DLigT = ShT.Cells(Rows.Count, "A").End(xlUp).Row
    For X = 23 To DLigT         ' boucle sur les lignes de la feuille tableau
        If ShT.Range("A" & X) <> "" Then        ' si A n'est pas vide ...

            'Copie vente dans dans l'onglet ACHAT Client

            ShT.Range("A" & X & ":E" & X).Copy
            DLig = ShAC.Cells(Rows.Count, "A").End(xlUp).Row + 1
            ShAC.Range("A" & DLig & ":E" & DLig).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                                                                                                       :=False, Transpose:=False

            'Copie vente dans dans l'onglet ACHAT Client - Quantité

            ShT.Range("K" & X).Copy
            ShAC.Range("F" & DLig).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                                                                                         :=False, Transpose:=False

            'Copie vente dans dans l'onglet RECAP_VENTE_ANNUEL -

            ShT.Range("A" & X & ":Q" & X).Copy
            DLig = ShRVA.Cells(Rows.Count, "A").End(xlUp).Row + 1
            ShRVA.Range("A" & DLig & ":Q" & DLig).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
                                                               xlNone, SkipBlanks:=False, Transpose:=False
        End If
    Next X

    'Suppression des valeurs de Date -produit-typedeproduit-contenance-quantite-reduction
    ShT.Range("A23:Q" & DLigT).ClearContents
End Sub

ric

Bonjour Ric,

merci pour ton retour.

Je vais essayer de comprendre comment tu as fait et essayer ....

merci et bonne soiree

Bonjour Ric,

Je viens d'essayer ta macro .Ça a fonctionné correctement une fois la correction du texte de deux onglets.(C'est moi qui avait fait des fautes ).

Maintenant je vais essayer d’intégrer deux autres fonctions

> le déverrouillage (de certaines cellules) avant opération "couper coller" de la macro puis le verrouillage".

> Dans l'onglet "RECAP_VENTE_MENSUELLE" ; il va falloir que je demande l'addition de chaque valeurs de chaque colonnes si la date est identique dans la colonne "A".

A mon avis , je vais revenir vers vous mais je vais quand même essayer.

Bonne journée.

Rechercher des sujets similaires à "bouton commandes simultanees"