Somme d'un nbre évolutif d'elmts &ref à une feuille cree ds la macro - VB/VBA/VBS - Programmation
Marsh Posté le 16-08-2005 à 16:37:00
Salut tootwi
pour ton premier problème :
|
la formule pour ton D4 est plutôt :
Code :
|
pour ton deuxième problème
|
regarde si ça marche pas plus simplement :
Code :
|
Et ce bien ça ?
Marsh Posté le 16-08-2005 à 17:41:07
Cool !
Marque résolu dans le titre du sujet ça pourra en aider d'autres
Marsh Posté le 16-08-2005 à 15:22:37
Bonjour,
j'ai 2 problèmes dans le programme suivant :
1) Je n'arrive pas à remplir la nouvelle colonne de la page synthese avec les données de la feuille nom_affaire que j'ai crée, il doit y avoir un probleme de reference là (il faut que je rentre une formule car je dois remplir la feuille "nom_affaire" apres la fin de l'execution de la macro, et "nom_affaire" est une donnée rentrée par l'utilisateur dans un userbox, donc je sais pas si c'est possible dans le monde merveilleux de visual basic...)
2) Je voudrais mettre une formule de moyenne dans la colonne C (d'où la boucle sur i = l'indice de ligne), mais je m'embrouille dans les " & et tout ça...
Sub Creer_nouvelle_affaire()
Boite_nom_affaire.Show
Dim nom_affaire As String
nom_affaire = Boite_nom_affaire.TextBox1.Value
Sheets("Synthese" ).Select
Sheets.Add.Name = nom_affaire
'...
' Remplissage des données dans la feuille de synthèse :
Sheets("Synthese" ).Select
With Sheets("Synthese" )
.[D:D].Insert Shift:=xlToRight
.[D3] = nom_affaire
'.[D4] = [ nom_affaire !M4] ' cette instruction renvoie #VALEUR!
.[D4].Formula = Sheets(nom_affaire).Range("M4" ) 'celle là renvoie toujours zéro
End With
'...
'Formule de moyenne :
Dim nbreaffaires As Integer
nbreaffaires = Sheets.Count - 2
Dim dernier_ind As Integer
dernier_ind = Sheets.Count + 1
' dans la boucle suivante j'essaie de mettre en C4 la moyenne des cellules remplies sur la ligne 4 (il y a nbreaffaires cases remplies après la case C4)
For i = 4 To 31
Cells(i, 3).Select
'Cells(i, 3) = "=Sum( Cells(&i&, 4) : Cells(&i&, &dernier_ind& ) ) / " & nbreaffaires & " "
Cells(i, 3) = "=sum (Range(ActiveCell(1, 2).adress, ActiveCell(1, 3).Adress))/ " & nbreaffaires & ""
Next i
End Sub
voilà, si vous pouviez me dire ce qui ne marche pas dans cette macro, ça m'aiderai beaucoup!!
tootwi