problème pour résoudre un exercice en excel avec VBA
Hors ligneImeys Le 04/10/2005 à 13:05 Profil de Imeys Configuration de Imeys

bonjour, pourriez vous m'aidez ou me guider pour réaliser cette exercice:

Soit 2 colonne de nombres dans une feuille de calcul, la macro demande quelle opération (+-*/), elle encode dans la troisième colonne l'opération et dans la quatrième le résultat.

Donc j'ai fait les 4 colonne ou dans les 2 premières j'ai taper une série de nombres.

Je ne vois pas comment faire pour que lorsque l'utilisateur a taper son choix d'opération que ca se mette automatique dans la 3eme colonne et ensuite faire le résultat.

Pourriez vous m'aidez svp

merci
Hors ligneTigene Le 04/10/2005 à 15:04 Profil de Tigene Configuration de Tigene

Viconaute Modérateur
Salut

Je fais cela sans macro, en utilisant la fonction ci-joint

Et en recopiant cette formule dans toutes les cellules concernées de la 4e colonne.

=SI(LC(-1)="+";LC(-3)+LC(-2);SI(LC(-1)="-";LC(-3)-LC(-2);SI(LC(-1)="*";LC(-3)*LC(-2);SI(LC(-1)="/";LC(-3)/LC(-2)))))


Lorsque tu tapes, le signe de l'opération, le résultat s'affiche automatiquement.
attention au signe "/", on ne peut le rentrer qu'en mode édition.

sinon tu peux utiliser les abréviation A S M D

Tu peux inclure cette formule dans une macro, mais là je ne sais pas faire.
--

Ce n'est pas parce qu'on a quelque chose à dire, qu'il faut forcément l'ouvrir

Hors ligneImeys Le 04/10/2005 à 15:06 Profil de Imeys Configuration de Imeys

merci beaucoup
je vai essayé
Hors ligneMarculinos Le 04/10/2005 à 15:22 Profil de Marculinos Configuration de Marculinos

Viconaute Modérateur
Hello,

L'opération à effectuer (addition, soustraction...) est la même pour l'ensemble des lignes de tes deux colonnes?

@+
Hors ligneImeys Le 04/10/2005 à 15:23 Profil de Imeys Configuration de Imeys

oui c'est la même
Hors ligneTigene Le 04/10/2005 à 15:50 Profil de Tigene Configuration de Tigene

Viconaute Modérateur
ah oui, tu appliques la même opération pour toutes les lignes de la feuille de calcul

je n'avais pas compris cela.

donc tu ouvre un formulaire qui demande "quelle opération voulez-vous effectuer entre les deux nombres d'une même ligne"

Si c'est l'addition, tous les nombres sont additionnés ?
--

Ce n'est pas parce qu'on a quelque chose à dire, qu'il faut forcément l'ouvrir

Hors ligneMarculinos Le 04/10/2005 à 16:18 Profil de Marculinos Configuration de Marculinos

Viconaute Modérateur
Sinon, tu peux effectuer ta manipulation en créant des boutons d'opérations.

A l'aide de la barre d'outils "Boîte à outils contrôles", créer un bouton de commande. Double-cliquer dessus afin d'atteindre Visual Basic pour Excel. Une fenêtre affiche :
Private Sub CommandButton1_Click() End sub

Entrer le code suivant :
Private Sub CommandButton1_Click() Cells(1, 1).Activate l = 1 Do Until Cells(l, 1).Value = "" Cells(l, 3).Value = Cells(l, 1).Value + Cells(l, 2).Value l = l + 1 Loop End Sub

Sur la gauche de l'écran, on voit une fenêtre "Project - VBA project". En dessous, une fenêtre "Propriétés - Comandbutton1". Dans cette deuxième fenêtre, il faut attribuer le texte "Addition" en face de la variable "Caption".

Retourner sous Excel.

A l'aide de la barre d'outils "Boîte à outils contrôles", créer un bouton de commande. Double-cliquer dessus afin d'atteindre Visual Basic pour Excel. Une fenêtre affiche :
Private Sub CommandButton2_Click() End sub

Entrer le code suivant :
Private Sub CommandButton2_Click() Cells(1, 1).Activate l = 1 Do Until Cells(l, 1).Value = "" Cells(l, 3).Value = Cells(l, 1).Value - Cells(l, 2).Value l = l + 1 Loop End Sub

Sur la gauche de l'écran, on voit une fenêtre "Project - VBA project". En dessous, une fenêtre "Propriétés - Comandbutton2". Dans cette deuxième fenêtre, il faut attribuer le texte "Soustraction" en face de la variable "Caption".

Retourner sous Excel.

A l'aide de la barre d'outils "Boîte à outils contrôles", créer un bouton de commande. Double-cliquer dessus afin d'atteindre Visual Basic pour Excel. Une fenêtre affiche :
Private Sub CommandButton3_Click() End sub

Entrer le code suivant :
Private Sub CommandButton3_Click() Cells(1, 1).Activate l = 1 Do Until Cells(l, 1).Value = "" Cells(l, 3).Value = Cells(l, 1).Value * Cells(l, 2).Value l = l + 1 Loop End Sub

Sur la gauche de l'écran, on voit une fenêtre "Project - VBA project". En dessous, une fenêtre "Propriétés - Comandbutton3". Dans cette deuxième fenêtre, il faut attribuer le texte "Multiplication" en face de la variable "Caption".

Retourner sous Excel.

A l'aide de la barre d'outils "Boîte à outils contrôles", créer un bouton de commande. Double-cliquer dessus afin d'atteindre Visual Basic pour Excel. Une fenêtre affiche :
Private Sub CommandButton4_Click() End sub

Entrer le code suivant :
Private Sub CommandButton4_Click() Cells(1, 1).Activate l = 1 Do Until Cells(l, 1).Value = "" Cells(l, 3).Value = Cells(l, 1).Value / Cells(l, 2).Value l = l + 1 Loop End Sub

Sur la gauche de l'écran, on voit une fenêtre "Project - VBA project". En dessous, une fenêtre "Propriétés - Comandbutton4". Dans cette deuxième fenêtre, il faut attribuer le texte "Division" en face de la variable "Caption".

Enregistrer le document et fermer la fenêtre Visual Basic.

A présent, tu disposes de quatre boutons pour réaliser tes opérations

L'opération concernera les colonnes 1 et 2. Le résultat s'affichera dans la colonne 3.

@+
Hors ligneImeys Le 04/10/2005 à 16:29 Profil de Imeys Configuration de Imeys

ok je vai essayer et j'espere que ca ira.
Mais comment on fait pour ajouter un bouton?
et je dois me placer sur la cellule résultat ou opération dans mon tableau excel?

Dsl ms je debute donc je dois apprendre
Hors ligneMarculinos Le 04/10/2005 à 17:01 Profil de Marculinos Configuration de Marculinos

Viconaute Modérateur
Pour activer la barre d'outils "Boîte à outils contrôles", tu cliques sur "Affichage" en haut de l'écran, puis tu sélectionnes "Barres d'outils" et tu cliques sur "Boîte à outils contrôles". Dans la "Boîte à outils contrôles" fais glisser ta souris sur les différentes icônes jusqu'à trouver l'icône "Bouton de commande". Après tu n'as plus qu'à le dimensionner.

Une fois que tu as rempli tes deux colonnes, tu peux cliquer sur le bouton d'opération désiré. La cellule A1 sera définie automatiquement comme cellule active avant toute opération, donc peu importe l'emplacement de ton curseur après avoir rempli tes colonnes.

Si le programme bugue, n'hésites pas à demander de l'aide, ce forum est là pour ça. Bon courage.

@+
Hors ligneImeys Le 04/10/2005 à 17:03 Profil de Imeys Configuration de Imeys

merci, ben c'est ce que je fais , je demande de l'aide et je vois que dans ce forum ci, on rembale pas les gens comme beaucoup le font donc je reviendrai.

Merci pour votre aide
Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels