Calcul d'une colonne dont la taille varie
Gigi0001
Messages postés
9
Statut
Membre
-
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour!
Je débute en VBA.
Je cherche à calculer des colonnes dont la taille varie quand je reçois une nouvelle feuille excel.
Aujourd'hui, j'aimerai faire la somme de A1:A200
Demain je vais recevoir un nouveau document et je devrais faire la somme de A1:A500
ect...
=> comment puis-je en VBA adapter la taille de la colonne pour calculer sa somme?
voici ce que j'ai fait mais je crois que je suis très loin de la réalité...
Sub SelectionColonneA()
Dim x As Long
x = Range("A65536").End(xlUp).Row
AdresseColonne = Range("B1" & ":" & "B" & x).Select
ActiveCell.FormulaR1C1 = "=SUM(Feuil1!AdresseColonne)"
Range("A2").Select
End Sub
Merci d'avance!
Je débute en VBA.
Je cherche à calculer des colonnes dont la taille varie quand je reçois une nouvelle feuille excel.
Aujourd'hui, j'aimerai faire la somme de A1:A200
Demain je vais recevoir un nouveau document et je devrais faire la somme de A1:A500
ect...
=> comment puis-je en VBA adapter la taille de la colonne pour calculer sa somme?
voici ce que j'ai fait mais je crois que je suis très loin de la réalité...
Sub SelectionColonneA()
Dim x As Long
x = Range("A65536").End(xlUp).Row
AdresseColonne = Range("B1" & ":" & "B" & x).Select
ActiveCell.FormulaR1C1 = "=SUM(Feuil1!AdresseColonne)"
Range("A2").Select
End Sub
Merci d'avance!
A voir également:
- Vba somme d'une colonne dont on ne connait pas la longueur
- Déplacer une colonne excel - Guide
- Formule somme excel colonne - Guide
- Trier une colonne excel - Guide
- Colonne word - Guide
- Somme si couleur - Guide
6 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 586
Qu'est-ce qui te chiffonne dans ton code ?
Si tu veux simplement calculer la somme de toute la colonne A, tu peux utiliser cette formule : =SUM(A:A).
Si tu veux simplement calculer la somme de toute la colonne A, tu peux utiliser cette formule : =SUM(A:A).
Salut,
Explication:
J'ai une colonne de A1 jusqu'à A200.
le SUM(A1:A200) est bien sauf que pour les autres feuilles que je recevrais, le nombre d'informations par colonne changera. Ex: A1 jusqu'a A300, et ainsi de suite.
Donc, je cherche à selectionner la colonne (dans lequel il y a quelques cases vides) et calculer la somme de cette colonne dans une autre feuille du classeur.
J'explique bien?
Explication:
J'ai une colonne de A1 jusqu'à A200.
le SUM(A1:A200) est bien sauf que pour les autres feuilles que je recevrais, le nombre d'informations par colonne changera. Ex: A1 jusqu'a A300, et ainsi de suite.
Donc, je cherche à selectionner la colonne (dans lequel il y a quelques cases vides) et calculer la somme de cette colonne dans une autre feuille du classeur.
J'explique bien?
La solution que tu offres est idéal quand il ne s'agit que d'une somme. Donc Merci.
Ne voulant pas trop complexifié le problème, j'en ai pas assez dit.
En faite, je veux faire toutes sortes de calcul comme, COUNTIF, AVERAGE,...
Je ne peux pas donc prendre la colonne entière (A:A) mais uniquement la colonne (dans mon cas, la colonne A) du tableau si je veux que les calculs soit juste.
Merci de ton aide.
Ne voulant pas trop complexifié le problème, j'en ai pas assez dit.
En faite, je veux faire toutes sortes de calcul comme, COUNTIF, AVERAGE,...
Je ne peux pas donc prendre la colonne entière (A:A) mais uniquement la colonne (dans mon cas, la colonne A) du tableau si je veux que les calculs soit juste.
Merci de ton aide.
Voilà ce que je pensais faire:
Dim x As Long
x = Range("A65536").End(xlUp).Row
AdresseColonne = Range("B1" & ":" & "B" & x).Select
=>>>> Pour selectionner la colonne
Dim AdresseColonne As String
ActiveCell.FormulaR1C1 = "=SUM(Feuil1!AdresseColonne)"
Range("A2").Select
=>>>> Pour calculer la selection
Ensuite, si ca marchait je voulais remplacer SUM par COUNTIF, AVERAGE, etc... (mais ca ne marche pas)
Je "chiffonne" comme tu dis mais j'essaie d'apprendre à me débrouiller tout seul... mais sans succès. hum hum
Tu connaitrais la solution?
Dim x As Long
x = Range("A65536").End(xlUp).Row
AdresseColonne = Range("B1" & ":" & "B" & x).Select
=>>>> Pour selectionner la colonne
Dim AdresseColonne As String
ActiveCell.FormulaR1C1 = "=SUM(Feuil1!AdresseColonne)"
Range("A2").Select
=>>>> Pour calculer la selection
Ensuite, si ca marchait je voulais remplacer SUM par COUNTIF, AVERAGE, etc... (mais ca ne marche pas)
Je "chiffonne" comme tu dis mais j'essaie d'apprendre à me débrouiller tout seul... mais sans succès. hum hum
Tu connaitrais la solution?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 586
Et ceci, qu'est ce que cela dit ?
Dim x As Long
Dim AdresseColonne As String
x = Range("A65536").End(xlUp).Row
AdresseColonne = "Feuil1" + "!" + "B1" & ":" & "B" & cstr(x)
=>>>> Pour selectionner la colonne
Sheets("Feuil2").Range("A2").Select
ActiveCell.FormulaR1C1 = "=SUM(" + adresscolonne + ")"
=>>>> Pour calculer la selection
Dim x As Long
Dim AdresseColonne As String
x = Range("A65536").End(xlUp).Row
AdresseColonne = "Feuil1" + "!" + "B1" & ":" & "B" & cstr(x)
=>>>> Pour selectionner la colonne
Sheets("Feuil2").Range("A2").Select
ActiveCell.FormulaR1C1 = "=SUM(" + adresscolonne + ")"
=>>>> Pour calculer la selection
Haaa, je comprends comment tu veux faire.
Ca bloque sur ActiveCell.FormulaR1C1 = "=SUM(" + adresscolonne + ")"
Je reflechie (ausssi de mon côté) à la façon de résoudre ce pb...
Ca bloque sur ActiveCell.FormulaR1C1 = "=SUM(" + adresscolonne + ")"
Je reflechie (ausssi de mon côté) à la façon de résoudre ce pb...
deux petites erreurs corrigées :
Dim x As Long
Dim AdresseColonne As String
x = Range("A65536").End(xlUp).Row
AdresseColonne = "Feuil1" + "!" + "B1" & ":" & "B" & cstr(x)
=>>>> Pour selectionner la colonne
Sheets("Feuil2").Range("A2").Formula = "=SUM(" + adressecolonne + ")" 'formula, pas formular1c1, et correction ortho
=>>>> Pour calculer la selection
Dim x As Long
Dim AdresseColonne As String
x = Range("A65536").End(xlUp).Row
AdresseColonne = "Feuil1" + "!" + "B1" & ":" & "B" & cstr(x)
=>>>> Pour selectionner la colonne
Sheets("Feuil2").Range("A2").Formula = "=SUM(" + adressecolonne + ")" 'formula, pas formular1c1, et correction ortho
=>>>> Pour calculer la selection