Bonjour,
Je tente de faire ce petit exercice mais je bloque :
Ecrire une procédure qui permet de calculer la surface d’un rectangle tant que les valeurs de sa hauteur et de sa largeur situé dans les colonnes A et B sont connues (les cellules ne sont pas vides).
Voici ce que j'ai écrit :
Sub exo()
Dim longueur As double, largeur As double, aire As double, ligne As Integer, compteur As Integer
longueur = Cells(ligne, 1)
largeur = Cells(ligne, 2)
ligne = [D1]
For compteur = 1 To ligne
If Not IsEmpty(longueur) And Not IsEmpty(largeur) Then
aire = longueur * largeur
[D2] = aire
End If
Next
End Sub
Ce que j'ai essayé de faire est de dire que j'allais entrer une valeur <--> au n° de ligne que je voulais et l'entrer en D1. Donc par exemple écrire 2 en D1 pour que le programme comprenne qu'il faut tester les lignes 1 à 2 et voir si les cellules <--> à la longueur et à la largeur étaient vides. Ssi les 2 ne sont pas vides, il faut calculer l'aire et l'écrire par exemple en D2.
Ce programme ne marche pas et je vois bien que j'ai sûrement fait plein d'erreurs mais je ne vois pas où. Et surtout, je voulais faire comprendre au programme que si par exemple de A1 à B3 les cellules correspondantes sont toutes remplies, alors il faut calculer TOUTES les aires correspondant ( écrire le résultat de A1*B1 quelque part, celui de A2*B2 en dessous etc). Or je n'y parviens pas. Dans mon programme j'ai mis que l'aire serait à mettre en D2 mais à ce moment-là une seule aire ne pourra figurer alors que moi je veux avoir toutes les aires calculées.
Merci d'avance,
Shanon
Je tente de faire ce petit exercice mais je bloque :
Ecrire une procédure qui permet de calculer la surface d’un rectangle tant que les valeurs de sa hauteur et de sa largeur situé dans les colonnes A et B sont connues (les cellules ne sont pas vides).
Voici ce que j'ai écrit :
Sub exo()
Dim longueur As double, largeur As double, aire As double, ligne As Integer, compteur As Integer
longueur = Cells(ligne, 1)
largeur = Cells(ligne, 2)
ligne = [D1]
For compteur = 1 To ligne
If Not IsEmpty(longueur) And Not IsEmpty(largeur) Then
aire = longueur * largeur
[D2] = aire
End If
Next
End Sub
Ce que j'ai essayé de faire est de dire que j'allais entrer une valeur <--> au n° de ligne que je voulais et l'entrer en D1. Donc par exemple écrire 2 en D1 pour que le programme comprenne qu'il faut tester les lignes 1 à 2 et voir si les cellules <--> à la longueur et à la largeur étaient vides. Ssi les 2 ne sont pas vides, il faut calculer l'aire et l'écrire par exemple en D2.
Ce programme ne marche pas et je vois bien que j'ai sûrement fait plein d'erreurs mais je ne vois pas où. Et surtout, je voulais faire comprendre au programme que si par exemple de A1 à B3 les cellules correspondantes sont toutes remplies, alors il faut calculer TOUTES les aires correspondant ( écrire le résultat de A1*B1 quelque part, celui de A2*B2 en dessous etc). Or je n'y parviens pas. Dans mon programme j'ai mis que l'aire serait à mettre en D2 mais à ce moment-là une seule aire ne pourra figurer alors que moi je veux avoir toutes les aires calculées.
Merci d'avance,
Shanon