Modifier ma macro pour un tableau de commande
franck444
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
franck44 -
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
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
A voir également:
- Modifier ma macro pour un tableau de commande
- Invite de commande - Guide
- Tableau word - Guide
- Modifier dns - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
2 réponses
Bonjour,
La question n'est pas très claire entre ce qui est fait et ce qui est à faire
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 :
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 Q7puis
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
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.
Je voudrais t'envoyer le fichier excel en question qui me saire à travailler.
franckla44@gmail.com.
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.
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
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
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
excuse moi
TU PEUX M'INDIQUER LA PROCEDURE.
Merci.