dim lance as integer

koko_spv89

XLDnaute Occasionnel
Bonjour tout le monde

Voilà je sais pas comment faire :

J'ai une macro qui vient "scanner" ce qu'il y a dans une colonne :
Code:
Option Explicit

Const Entete = 4
Const NbLances = 8
-----------------------------------------------------
Private Sub calcul_lance()

Dim i As Byte
Dim lance As Integer

For i = 1 + Entete To Entete + NbLances
    If Feuil7.Range("c" & i) = "SC" & lance And [ext_tempo] = "Temporisation" Then Feuil1.Range("tempo_lance" & lance) = Feuil7.Range("D" & i) '* 60 / 1000
Next

End Sub
j'ai aucun soucis concernant la dimension de i car les valeurs se suivent (de 5à 12)

Par contre j'aimerai arriver à scanner de la meme façon avec lance. le pb voilà la liste des valeurs de lance :
1_1
1_2
1_3
1_4
2_1
2_2
2_3
2_4
3_1
3_2
3_3
3_4

comment faire?
 

koko_spv89

XLDnaute Occasionnel
Re : dim lance as integer

merci pierrejean ça marche nikel le code est le suivant:

Code:
Private Sub calcul_lance()

Dim i, j As Byte
Dim lance As Integer
Dim leslances As Variant

leslances = Array("1_1", "1_2", "1_3")

For i = 1 + Entete To Entete + NbLances
For lance = LBound(leslances) To UBound(leslances)
    If Feuil7.Range("c" & i) = "SC" & lance And [ext_tempo] = "Temporisation" Then Feuil1.Range("tempo_lance" & lance) = Feuil7.Range("D" & i) '* 60 / 1000
Next lance
Next i
End Sub

par contre comment faire dans le cas ou j'ai 2 SC1_1 par exemple j'aimerais que ça s'additionne.....?!
 

pierrejean

XLDnaute Barbatruc
Re : dim lance as integer

Re

lance est un nombre
pour avoir l'identité de la lance c'est leslances(lance)

Teste:

Code:
Private Sub calcul_lance()
Dim i, j As Byte
Dim lance As Integer
Dim leslances As Variant

leslances = Array("1_1", "1_2", "1_3")

For i = 1 + Entete To Entete + NbLances
For lance = LBound(leslances) To UBound(leslances)
    If Feuil7.Range("c" & i) = "SC" & [COLOR=blue]leslances(lance)[/COLOR] And [ext_tempo] = "Temporisation" Then Feuil1.Range("tempo_lance" & lance) = Feuil7.Range("D" & i) '* 60 / 1000
Next lance
Next i
End Sub

en supposant que j'aie compris bien sur !!
 

koko_spv89

XLDnaute Occasionnel
Re : dim lance as integer

re

effectivement il manquait le leslances(lance) dans les 2 Formules....

par contre ça ne résoud pas mon pb à savoir s'il y a plusieurs SC1_1....:rolleyes: il n'existe pas comme pour une formule excel une fonction somme????
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : dim lance as integer

Re

Ton fichier avec la macro adaptée

Attention quand tu utilises le codename des feuilles !!

j'ai egalement supprimé

And [ext_tempo] = "Temporisation"

dont je n'ai pas vu a quoi cela correspond
 

Pièces jointes

  • lances.zip
    7.9 KB · Affichages: 41

koko_spv89

XLDnaute Occasionnel
Re : dim lance as integer

Re Pierrejean,

En utilisant ta formule je me suis rendu compte de qqch....

Si tu lances une première fois le calcul avec par exemple 2 lances dans SC1_1 puis qu'ensuite tu viens rajouter une 3ème lance dans SC1_1, ça double les valeurs des deux premières lances! ça additionne en fait à chaque fois que tu rajoute une lance... ça va pas du coup.....
c'est possible de modifier ça ou pas?
 

pierrejean

XLDnaute Barbatruc
Re : dim lance as integer

Re

J'avais pensé que c'etait le role du bouton RAZ mais pas de probleme !

La macro fait la remise a 0 avant de faire les calculs
 

Pièces jointes

  • lances.2.zip
    12.5 KB · Affichages: 55
  • lances.2.zip
    12.5 KB · Affichages: 47
  • lances.2.zip
    12.5 KB · Affichages: 60
Dernière édition:

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 187
dernier inscrit
ebenhamel