Trouve pas la bonne formule pour mon calcul

Fermé
walter 07 Messages postés 2 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 27 juin 2008 - 20 juin 2008 à 18:39
 walter 07 - 21 juin 2008 à 11:00
Bonjour,
je voudrais trouver la formule qui puisse me permettre de récupérer automatiquement la dernière cellule remplie dans une colonne et de pouvoir l insérer dans une formule de calcul je vous donne un exemple

le case G3 est la dernière remplie dans la colonne car les cases G4,G5 et G6 sont vides

en G7 j ai mis la formule suivante :

=SI(H7="";"";Si(H7="OUI";G6-E7+F7;SI(H7="NON";????­???-E7+F7;"")))

j ai remplacer le texte que je cherche par des ? car j' ai mis G3 en dernière case remplie mais celle-ci peut être soit G2,G4,G5 ou G6

en vous remerciant d avances

cordial amitié

3 réponses

Graffitir Messages postés 865 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 30 mars 2009 137
21 juin 2008 à 09:24
J'imagine que tu es sur excel ^^

en macro commande tu ne peux pas y arriver, par contre en VBA oui
tu dois te servir de l'editeur Visual basic et d'une boucle

par exemple
j'ai testé sur excel ça marche ^^

le pointeur parcourt la colonne 1 de haut en bas jusqu'a ce qu'il rencontre la valeur 7

lorsqu'il trouve la valeur 7 il affiche son numéro de ligne
s'il ne trouve pas la valeur 7 il annonce la valeur 100

il faut mettre la valeur 7 quelque part entre la ligne 1 et 100 sinon le programme n'a pas d'interet

ligne = 1
Do While (ligne < 100) And (Cells(ligne, 1).Value <> "7")
ligne = ligne + 1
Loop
MsgBox (ligne)

cette boucle comporte 2 condition de sortie

si il trouve la valeur 7 , on sort de la boucle
si il atteint la valeur 100 on sort de la boucle . cette condition est necessaire car s'il ne trouve pas de valeur 7, on part dans une boucle infinie



Oubliez Internet explorer 6,7,8 et essayez donc Firefox 3.0, vous oublierez IE. 
0
Graffitir Messages postés 865 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 30 mars 2009 137
21 juin 2008 à 09:53
si tu souhaites repérer ou se trouve la valeur 7 dans un tableau de 100 lignes par 100 colonnes
tu dois mettre une double boucle imbriqué

exemple:
testé dans excel

il faut placer la valeur 7 n'importe ou dans un tableau de 100 lignes sur 100 colonnes
il indiquera les cordonnées de chaque valeur 7 trouvé dans le tableau


colonne = 1
ligne = 1
Do
Do While (ligne < 100) And (Cells(ligne, colonne).Value <> "7")
ligne = ligne + 1
Loop

If ligne = 100 Then
ligne = 1
Else
MsgBox ("ligne=" & ligne & " " & "colonne=" & colonne)
End If

colonne = colonne + 1
Loop While (colonne < 100) And (ligne < 100)

End Sub


j'ai employé

Do ..... loop While pour parcourir les colonnes
do while.......loop pour parcourir les lignes


Oubliez Internet explorer 6,7,8 et essayez donc Firefox 3.0, vous oublierez IE. 
0
dans ma feuille de calcul ma colonne G contient 60 lignes dans chaque cellule j ai inséré la formule suivante

G3=SI(H3="";"";Si(H3="OUI";G2-E3+F3;SI(H3="NON";G2-E3+F3;"")))
G4=SI(H4="";"";Si(H4="OUI";G3-E4+F4;SI(H4="NON";G3-E4+F4;"")))
G5=SI(H5="";"";Si(H5="OUI";G4-E5+F5;SI(H5="NON";G4-E5+F5;"")))

quand mes cases G2 G3 G4 G5 sont pleine et que je met OUI dans les case H mon calcul se réalise correctement

quand ma case G2 est remplies que mes cases G3 G4 sont vide est je met OUI dans case H5 pour que mon calcul se réalise cela ne fonctionne pas
je recherche la formule qui me permettra d aller récupérer ma case G2 dans cette exemple

G5=SI(H5="";"";Si(H5="OUI";G4-E5+F5;SI(H5="NON";(DERNIÈRE CASE REMPLIE)-E5+F5;"")))

en mode VBA je ne comprend rien
0