Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

tootwi

VBA Excel : somme du nombre de cellules remplies

Messages recommandés

Bonjour,

J'ai fait une macro avec un userform qui demande à l'utilisateur un nom (nom_affaire dans le code), puis la macro crée une nouvelle feuille dans le classeur nommée nom_affaire, puis crée une colonne dans une page synthese ou les données de la page crée sont reportées.

 

J'ai 2 problemes:

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à :

 

Dim nom_affaire As String

nom_affaire = Boite_nom_affaire.TextBox1.Value

 

Sheets("Synthese").Select

Columns("D:D").Select

Selection.Insert Shift:=xlToRight ' insertion de la nouvelle colonne

Range("D3").Select

ActiveCell.FormulaR1C1 = nom_affaire 'report du nom de l'affaire en tete de la colonne (ça, ça marche)

Range("D4").Select

ActiveCell.FormulaR1C1 = Sheets(nom_affaire).Range("M4") 'là ça ne marche plus, ça met 0 dans la cellule

 

2) Je veux faire la somme des données de la feuille synthese, en agrandissant la zone de la somme vu que j'ai ajouté une colonne :

 

Dim nbreaffaires As Integer

 

nbreaffaires = Sheets.Count - 2

Range("C4").Select

ActiveCell.FormulaR1C1 = "=SUM(RC[1]:RC[& nbreaffaires])"

 

Donc là ça marche pas du tout, il lance le debogeur

 

(j'ai essayé aussi ActiveCell.FormulaR1C1 = "=SUM(D4:Cells(4, ActiveSheet.UsedRange.Columns.Count))" et ça marche pas, il met un #NOM?

 

 

Je suis débutante, donc je pense que ça doit etre des problemes de syntaxe, mais je sais pas du comment corriger ça, alors merci de votre aide!

 

tootwi

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci scunny pour ta réponse, mais j'avais déjà regardé ce site, et j'arrive quand meme pas à trouver mes réponses.....

pour la somme que j'essaie de faire, j'ai tenté :

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, nbreaffaires).Adress))/ " & nbreaffaires & ""

Next i

 

Mon problème c'est que je sais pas où mettre les " et & et tout ça....

 

et je voudrais mettre une formule qui fasse reference à la page que je viens de créer (nom affaire), mais il faut que ça apparaisse comme une formule car je vais remplir cette feuille seulement à la fin de l'execution de la macro, et là j'ai essayé :

With Sheets("Synthese")

.[D4] = [ nom_affaire !M4] ' là il met un # VALEUR!

.[D4].Formula = Sheets(nom_affaire).Range("M4") ' là il met tout le temps zéro

End With

et dans les 2 cas quand je modifie les valeurs de ma page nom_affaire, elles ne sont pas prises en compte....

 

je pédale dans la semoule là... (j'avoue que ça fait 4 jours que j'ai commencé à toucher aux macros, avec le mode enregistreur...)

merci d'avance!!

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×