Ecriture en VB et retour ligne

Le
Manbas
Bonjour à tous,
Dans une macro j'additionne la valeur de 20 cellules séparées les unes des
autres (toutes les 10 colonnes). La macro est prévue pour explorer 100
lignes.
Donc j'ai écrit:
variable¬tivecell.offset(0,8).value+activecell.offset(0,18).value+activecell.offset(0,28).value+activecell.offset(0,38).valueetc
ça marche mais je n'arrive pas à écrire cette somme avec des retours lignes,
dans le genre:
variable¬tivecell.offset(0,8).value
+activecell.offset(0,18).value
+activecell.offset(0,28).value
+activecell.offset(0,38).value
Ni le _ ni le & ne conviennent.
Comment faire pour que mon code soit lisible ailleurs que très loin vers la
droite?
Peut-être me direz-vous aussi qu'il y a une autre solution pour calculer
Merci d'avance +++
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Tatanka
Le #5013351
Bonsoir,

Quelque chose du genre :
Sub Somme()
Set ici = ActiveCell
For i = 0 To 19
s = s + ici.Offset(0, 10 * i)
Next i
MsgBox s
End Sub

Pour les sauts de lignes, iil faut mettre un espace suivi d'un _

variable¬tivecell.offset(0,8).value _
+activecell.offset(0,18).value _
+activecell.offset(0,28).value _
+activecell.offset(0,38).value

Serge


"Manbas"
Bonjour à tous,
Dans une macro j'additionne la valeur de 20 cellules séparées les unes des autres (toutes les 10 colonnes). La macro est prévue
pour explorer 100 lignes.
Donc j'ai écrit:
variable¬tivecell.offset(0,8).value+activecell.offset(0,18).value+activecell.offset(0,28).value+activecell.offset(0,38).value...etc
ça marche mais je n'arrive pas à écrire cette somme avec des retours lignes, dans le genre:
variable¬tivecell.offset(0,8).value
+activecell.offset(0,18).value
+activecell.offset(0,28).value
+activecell.offset(0,38).value
Ni le _ ni le & ne conviennent.
Comment faire pour que mon code soit lisible ailleurs que très loin vers la droite?
Peut-être me direz-vous aussi qu'il y a une autre solution pour calculer...
Merci d'avance +++



anonymousA
Le #5013321
Bonjour,

cette écriture devrait coller

With ActiveCell

variable = .Offset(0, 8).Value _
+ .Offset(0, 18).Value _
+ .Offset(0, 28).Value _
+ .Offset(0, 38).Value

End With

Mais si la séquence des écarts entre offset est régulière ( un pas de 10
p.e), alors il peut être plus simple d'écrire pour une boucle sur 15
occurences p.e.

For I=1 to 15

variable = variable + ActiveCell.Offset(0, 8+(10*(I-1))).Value

next

A+



Bonjour à tous,
Dans une macro j'additionne la valeur de 20 cellules séparées les unes des
autres (toutes les 10 colonnes). La macro est prévue pour explorer 100
lignes.
Donc j'ai écrit:
variable¬tivecell.offset(0,8).value+activecell.offset(0,18).value+activecell.offset(0,28).value+activecell.offset(0,38).value...etc
ça marche mais je n'arrive pas à écrire cette somme avec des retours lignes,
dans le genre:
variable¬tivecell.offset(0,8).value
+activecell.offset(0,18).value
+activecell.offset(0,28).value
+activecell.offset(0,38).value
Ni le _ ni le & ne conviennent.
Comment faire pour que mon code soit lisible ailleurs que très loin vers la
droite?
Peut-être me direz-vous aussi qu'il y a une autre solution pour calculer...
Merci d'avance +++




Manbas
Le #5013311
Merci beaucoup à tous les deux.
Deux solutions qui traitent deux parties differentes de mon problème, ça
c'est formateur!

A bientôt

"anonymousA" 472778fe$0$5106$
Bonjour,

cette écriture devrait coller

With ActiveCell

variable = .Offset(0, 8).Value _
+ .Offset(0, 18).Value _
+ .Offset(0, 28).Value _
+ .Offset(0, 38).Value

End With

Mais si la séquence des écarts entre offset est régulière ( un pas de 10
p.e), alors il peut être plus simple d'écrire pour une boucle sur 15
occurences p.e.

For I=1 to 15

variable = variable + ActiveCell.Offset(0, 8+(10*(I-1))).Value

next

A+



Bonjour à tous,
Dans une macro j'additionne la valeur de 20 cellules séparées les unes
des autres (toutes les 10 colonnes). La macro est prévue pour explorer
100 lignes.
Donc j'ai écrit:
variable¬tivecell.offset(0,8).value+activecell.offset(0,18).value+activecell.offset(0,28).value+activecell.offset(0,38).value...etc
ça marche mais je n'arrive pas à écrire cette somme avec des retours
lignes, dans le genre:
variable¬tivecell.offset(0,8).value
+activecell.offset(0,18).value
+activecell.offset(0,28).value
+activecell.offset(0,38).value
Ni le _ ni le & ne conviennent.
Comment faire pour que mon code soit lisible ailleurs que très loin vers
la droite?
Peut-être me direz-vous aussi qu'il y a une autre solution pour
calculer...
Merci d'avance +++





Tatanka
Le #5013191
Voici un petit exemple à adapter en espérant que
çorresponde à la structure de tes données :
http://cjoint.com/?kEuIeiXTuF

Serge



"Manbas"
Merci beaucoup à tous les deux.
Deux solutions qui traitent deux parties differentes de mon problème, ça c'est formateur!

A bientôt

"anonymousA"
Bonjour,

cette écriture devrait coller

With ActiveCell

variable = .Offset(0, 8).Value _
+ .Offset(0, 18).Value _
+ .Offset(0, 28).Value _
+ .Offset(0, 38).Value

End With

Mais si la séquence des écarts entre offset est régulière ( un pas de 10 p.e), alors il peut être plus simple d'écrire pour une
boucle sur 15
occurences p.e.

For I=1 to 15

variable = variable + ActiveCell.Offset(0, 8+(10*(I-1))).Value

next

A+



Bonjour à tous,
Dans une macro j'additionne la valeur de 20 cellules séparées les unes des autres (toutes les 10 colonnes). La macro est prévue
pour explorer 100 lignes.
Donc j'ai écrit:
variable¬tivecell.offset(0,8).value+activecell.offset(0,18).value+activecell.offset(0,28).value+activecell.offset(0,38).value...etc
ça marche mais je n'arrive pas à écrire cette somme avec des retours lignes, dans le genre:
variable¬tivecell.offset(0,8).value
+activecell.offset(0,18).value
+activecell.offset(0,28).value
+activecell.offset(0,38).value
Ni le _ ni le & ne conviennent.
Comment faire pour que mon code soit lisible ailleurs que très loin vers la droite?
Peut-être me direz-vous aussi qu'il y a une autre solution pour calculer...
Merci d'avance +++









Manbas
Le #5013151
Waouh!
Je comprends pourquoi mes projets font des paquets de Mo, alors que ceux de
"ceussent" qui savent sont légers-légers...
Merci Tatanka.


"Tatanka" %23Lw$
Voici un petit exemple à adapter en espérant que
çorresponde à la structure de tes données :
http://cjoint.com/?kEuIeiXTuF

Serge



"Manbas" %
Merci beaucoup à tous les deux.
Deux solutions qui traitent deux parties differentes de mon problème, ça
c'est formateur!

A bientôt

"anonymousA" 472778fe$0$5106$
Bonjour,

cette écriture devrait coller

With ActiveCell

variable = .Offset(0, 8).Value _
+ .Offset(0, 18).Value _
+ .Offset(0, 28).Value _
+ .Offset(0, 38).Value

End With

Mais si la séquence des écarts entre offset est régulière ( un pas de 10
p.e), alors il peut être plus simple d'écrire pour une boucle sur 15
occurences p.e.

For I=1 to 15

variable = variable + ActiveCell.Offset(0, 8+(10*(I-1))).Value

next

A+



Bonjour à tous,
Dans une macro j'additionne la valeur de 20 cellules séparées les unes
des autres (toutes les 10 colonnes). La macro est prévue pour explorer
100 lignes.
Donc j'ai écrit:
variable¬tivecell.offset(0,8).value+activecell.offset(0,18).value+activecell.offset(0,28).value+activecell.offset(0,38).value...etc
ça marche mais je n'arrive pas à écrire cette somme avec des retours
lignes, dans le genre:
variable¬tivecell.offset(0,8).value
+activecell.offset(0,18).value
+activecell.offset(0,28).value
+activecell.offset(0,38).value
Ni le _ ni le & ne conviennent.
Comment faire pour que mon code soit lisible ailleurs que très loin
vers la droite?
Peut-être me direz-vous aussi qu'il y a une autre solution pour
calculer...
Merci d'avance +++














Publicité
Poster une réponse
Anonyme