Menu

Rapporter cellules non vides de plusieurs feuilles dans une seule [Résolu]

Messages postés
7
Date d'inscription
mercredi 28 novembre 2018
Dernière intervention
10 décembre 2018
- - Dernière réponse : akb213
Messages postés
7
Date d'inscription
mercredi 28 novembre 2018
Dernière intervention
10 décembre 2018
- 29 nov. 2018 à 18:35
Bonjour,

Je souhaite regroupe les valeurs de plusieurs cellules dans une colonne dans une autre feuilles.

Dans chaque feuilles j'ai une colonne, dans cette colonne certaines cellules sont remplies (j'ai 12 feuilles)

Je souhaite regrouper ces valeurs clairsemées dans une feuille finale , sans vides, avez vous une idée de forumle pour m'aider ?

Merci


Configuration: Windows / Firefox 63.0
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
287
Date d'inscription
samedi 28 juillet 2012
Dernière intervention
13 décembre 2018
1
Merci
Bonsoir,

Le mieux serait que tu fournisse un exemple de ton fichier (dépourvu d'informations confidentielles) afin que l'on puisse créer un code correspondant à tes besoins. Tu peux utiliser le site gratuit suivant pour : https://www.cjoint.com/

Jc

Merci titeufdu89 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM a aidé 33738 internautes ce mois-ci

Commenter la réponse de titeufdu89
Messages postés
7
Date d'inscription
mercredi 28 novembre 2018
Dernière intervention
10 décembre 2018
0
Merci
Bonsoir,
merci pour ta proposition,
le dossier étant protégé, j'en ai crée un beaucoup plus simple mais qui illustre ce que je veux faire
https://www.cjoint.com/c/HKCt3MIS7bU

Voilà dans les feuilles mois j'ai les valeurs A et B et d'autres colonnes , à la fin dans le récapitulatif annuel je veux récupérer les valeurs dans un tableaux sans cellules vides.

Merci beaucoup
titeufdu89
Messages postés
287
Date d'inscription
samedi 28 juillet 2012
Dernière intervention
13 décembre 2018
-
Bonsoir,

Voici un code qui permettrait de créer un récapitulatif
Sub actualiser()
Dim ws, recap As Object
Dim lig, i As Long
Set recap = Worksheets("Récapitulatif Annuel")

'suppression de la feuille récap
recap.Range("A2:D" & Range("A65536").End(xlUp).Row + 4).ClearContents
lig = 2

'ajout des informations de chaque feuille
For Each ws In Worksheets(Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"))
    For i = 2 To ws.Range("A65536").End(xlUp).Row
    If ws.Range("A" & i) <> "" Then
    'ajout date
    ws.Range("A" & i).Copy recap.Range("B" & lig)
    ws.Range("C" & i & ":D" & i).Copy recap.Range("C" & lig)
    lig = lig + 1
    End If
    Next i
Next ws

'ajout des totaux
recap.Range("B" & lig) = "Total"
recap.Range("C" & lig).FormulaR1C1 = "=SUM(R2C3:R[-1]C)"
recap.Range("D" & lig).FormulaR1C1 = "=SUM(R2C4:R[-1]C)"
recap.Range("B" & lig + 1) = "Moyenne"
recap.Range("C" & lig + 1).FormulaR1C1 = "=AVERAGE(R2C3:R[-2]C)"
recap.Range("D" & lig + 1).FormulaR1C1 = "=AVERAGE(R2C4:R[-2]C)"
recap.Range("B" & lig + 2) = "EcartType"
recap.Range("C" & lig + 2).FormulaR1C1 = "=STDEV(R2C3:R[-3]C)"
recap.Range("D" & lig + 2).FormulaR1C1 = "=STDEV(R2C4:R[-3]C)"
recap.Range("C" & lig & ":D" & lig + 2).Style = "Comma"
End Sub


Et ci joint le fichier en question actualisé
https://www.cjoint.com/c/HKCuK6UPtzN

Bonne fin de journée

Jc
titeufdu89
Messages postés
287
Date d'inscription
samedi 28 juillet 2012
Dernière intervention
13 décembre 2018
-
Petit ajustement la partie suppression de la feuille récap, code à remplacer par :
'suppression de la feuille récap
recap.Range("A2:D" & Range("B65536").End(xlUp).Row + 4).ClearContents
lig = 2
akb213
Messages postés
7
Date d'inscription
mercredi 28 novembre 2018
Dernière intervention
10 décembre 2018
-
Merci beaucoup,
si je comprends bien c'est code VBA ? Une solution avec les formules classiques de EXCEL serait trop compliquée ?
Je n'ai pas pu ouvrir le fichier actualisé, excel me dit que l'extension ou le formt ne sont pas bons, est-ce du à ma version de Excel(2007) ?

En tout cas merci beaucoup pour votre temps et votre aide
titeufdu89
Messages postés
287
Date d'inscription
samedi 28 juillet 2012
Dernière intervention
13 décembre 2018
-
C'est effectivement un code VBA car en formule pour rechercher sur 12 feuilles à la suite ça me parait vraiment compliqué et lourd à mettre place (si tant est que ce soit possible... perso je n'ai pas les compétences pour t'aider sur un tel projet en formules).
Pour ouvrir le lien, sur le site cjoint clique sur enregistrer le fichier avant de l'ouvrir et dans son emplacement vérifie que l'extension du fichier est bien ".xlsm" si ce n'est pas le cas modifie la manuellement avant de l'ouvrir en renommant le fichier car il arrive qu'avec cjoint les extensions soient modifiées.

Jc
akb213
Messages postés
7
Date d'inscription
mercredi 28 novembre 2018
Dernière intervention
10 décembre 2018
> titeufdu89
Messages postés
287
Date d'inscription
samedi 28 juillet 2012
Dernière intervention
13 décembre 2018
-
D'accord, Merci beaucoup en tout cas, j'ai réussit à ouvrir le fichier avec tes instructions.
Commenter la réponse de akb213
Messages postés
7
Date d'inscription
mercredi 28 novembre 2018
Dernière intervention
10 décembre 2018
0
Merci
j'ai appliqué le code , avec des modifications au fichier , j'ai obtenu ce que je voulais

Merci
Commenter la réponse de akb213