Petite routine [Excel] - VB/VBA/VBS - Programmation
Marsh Posté le 12-11-2008 à 09:50:51
Voici les fonctions qui vont t'aider :
SI(condition, sivrai, sifaux)
CHERCHE(texte_cherché, chaine_source, num_départ) => indique la position d'une chaine de caractère dans une autre
STXT(chaine_source, num_départ, nombre_car) => renvoie une sous-chaine
Pour le volume, je pense que tu y arriveras... non ?
Voilou,... le plus "difficile" finalement reste à fixer la condition pour dire si oui ou non c'est un format "L x l x H"... la recherche de 2 X non contigus me semblent le mieux pour ça)
Pour la "colonne", tu étends juste les formules de ta première ligne sur toute ta colonne, et voilà; pas besoin de "boucle" ou qq chose comme ça.
Marsh Posté le 12-11-2008 à 17:28:30
bonjour,
Une tite macro ?
Sub SEP()
For Each o In Selection
v = Split(Trim(o), " X " )
k = UBound(v)
If k = 2 Then
For i = 1 To 3
o.Offset(, i) = v(i - 1)
Next
o.Offset(, 4) = v(0) * v(1) * v(2)
End If
Erase v
Next
End Sub
Nota : pour simplifier... la macro travaille sur la sélection courante (et non pas sur les lignes 1 à 100)
A+
Marsh Posté le 12-11-2008 à 09:43:25
Bonjour,
Dans un document excel, les lignes successives d'une même colonne peuvent présenter ou non les dimensions d'une plaque de matière sous la forme suivante :
1500 X 1000 X 30
Je souhaiterai établir une petite routine permettant de calculer le volume de ces plaques lorsque le format dans la ligne est similaire à celui là.
En français :
Pour i 1:100
Si cells(i,A) contient "X" alors
cells(i,B) doit prendre la valeur 1500
cells(i,C) doit prendre la valeur 1000
cells(i,D) doit prendre la valeur 30
cells(i,E) = cells(i,B) x cells(i,C) x cells(i,D)
next i
Pouvez-vous m'aider à mettre cela en place ?
merci d'avance
pour faire simple, les lignes successives sont de ce type :
1500 X 1000 X 30
500 X 200 X 10
1500 X 500 X 20
plaque ep10
tube PHI50
500 X 500 X 15
Je veux donc avoir un résultat du type :
1500 1000 30 4.5E7
500 200 10 1E6
1500 500 20 1.5E7
"VIDE"
"VIDE"
500 500 15 3.75E6
Message édité par chacal gp le 12-11-2008 à 09:43:57