Modifier ma macro pour un tableau de commande

franck444 Messages postés 13 Statut Membre -  
 franck44 -
Bonjour,

j'ai un tableau de commande avec une macro que je voudrais modifié.

dans la cellulle H7 la quantité de marchandise livré, cellule I7 les retours de marchandises, la cellule J7 la commande pour le lendemain, cellule K7 les pertes.
Quand j'appui sur mon bouton, la macro efface la cellule K7 et I7 puis range les chiffres de cellulle J7 dans la cellulle Q7et écrase le chiffre qui se trouvait auparavant dans cette cellulle.

Je voudrais que ma macro additionne le chiffre de lacellule I7(retour) avec J7(commande) et que le résultat s'affiche dans la cellule Q7.

VOICI LE MACRO ACTUEL :

Range("H7:I92").Select
Selection.ClearContents
Range("K7:K92").Select
Selection.ClearContents
Range("J7:J92").Select
Selection.Copy
Range("H7").Select
ActiveSheet.Paste
Range("J7:J92").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("Q7:Q21").Select
Selection.ClearContents
Range("Q23:Q45").Select
Selection.ClearContents
Range("Q47:Q73").Select
Selection.ClearContents
Range("Q76:Q87").Select
Selection.ClearContents
Range("H7").Select
End Sub

MERCI à vous qui peut m'aider

2 réponses

  1. Normad Messages postés 112 Date d'inscription   Statut Membre Dernière intervention   40
     
    Bonjour,
    La question n'est pas très claire entre ce qui est fait et ce qui est à faire

    Quand j'appui sur mon bouton, la macro efface la cellule K7 et I7 puis range les chiffres de cellulle J7 dans la cellulle Q7
    puis
    Je voudrais que ma macro additionne le chiffre de la cellule I7(retour) avec J7(commande) et que le résultat s'affiche dans la cellule Q7

    Et la macro actuelle, c'est un peu n'importe quoi (sélections + actions dans la feuille inutiles faites avec l'enregistreur).

    Voici un petit code décomposé et commenté selon ce que j'ai compris de la demande :

    Sub Report()
    'Déclarations des variables (type double si il peut y avoir des décimales)
    Dim Retour As Double, Commande As Double, Result As Double
    
    'Initialise les valeurs Retour et Commande
    Retour = Range("I7").Value
    Commande = Range("J7").Value
    
    'Additionne les deux valeurs dans la variable Result
    Result = Retour + Commande
    
    'Reporte le résultat dans la cellule Q7
    Range("Q7").Value = Result
    
    'Efface le contenu des cellules i7 à k7
    Range("I7:K7").ClearContents
    End Sub
    0
    1. franck444 Messages postés 13 Statut Membre
       
      Non ça ne marche pasquand le clique sur mon bouton de commande le résultat ne s'affiche pas dans la celulle "Q7" la celulle reste vide.
      0
    2. franck444 Messages postés 13 Statut Membre
       
      je me suis trompé il faut que le résultat s'affiche dans la celulle H7.

      excuse moi
      0
    3. franck444 Messages postés 13 Statut Membre
       
      bon ça marche le résultat s'affiche la la celule H7 PAR CONTRE si je veux que l'opération se face sur toutes les lignes c'est à dire de "I7" à "I92" et "J7" à "J92"
      TU PEUX M'INDIQUER LA PROCEDURE.

      Merci.
      0
  2. franck444 Messages postés 13 Statut Membre
     
    merci c'est sympa je vais essayer, moi c'est franck, si je peux moi à mon tour faire quelque chose, je suis cuisinier de métier.
    Je voudrais t'envoyer le fichier excel en question qui me saire à travailler.

    franckla44@gmail.com.
    0
    1. Normad Messages postés 112 Date d'inscription   Statut Membre Dernière intervention   40
       
      Pas cool de reposer la même question directement ailleurs sans attendre ni même reprendre le code amélioré que j'ai pris du temps à écrire et à commenter !

      Pour le faire sur les lignes 7 à 92 c'est simple, il faut utiliser une variable "Ligne" qui aura la valeur du numéro de ligne qu'on indexe dans une boucle For next.

      'Déclarer la nouvelle variable après les autres
      Dim Ligne as Integer
      
      'Ajout de cette ligne directement après
      For Ligne = 7 to 92
      Retour = Range("I" & Ligne).Value
      'etc... => modifier tous les autres 7 par & Ligne comme ci-dessus
      
      
      'ajout de cette ligne avant la fin
      Next Ligne
      
      End sub
      0
    2. franck44
       
      excuse moi mais, n'étant pas sure d'avoir une réponse, c'est la première fois que je demandais de l'aide sur un forum. Et pour mettre toutes les chances de mon côté j'ai posé mon problème sur plusieurs sites (sans avoir de réponse d'abord).
      C'est sympas de m'avoir répondu. Je vais essayé cette après midi ce que tu viens de me donner, et voir si ça fonctionne.

      Merci.

      Franck
      0