Rapporter cellules non vides de plusieurs feuilles dans une seule

Résolu/Fermé
akb213 Messages postés 18 Date d'inscription mercredi 28 novembre 2018 Statut Membre Dernière intervention 15 mai 2023 - 28 nov. 2018 à 19:26
akb213 Messages postés 18 Date d'inscription mercredi 28 novembre 2018 Statut Membre Dernière intervention 15 mai 2023 - 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
A voir également:

3 réponses

titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
28 nov. 2018 à 20:06
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
1
akb213 Messages postés 18 Date d'inscription mercredi 28 novembre 2018 Statut Membre Dernière intervention 15 mai 2023
28 nov. 2018 à 20:59
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
0
titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
28 nov. 2018 à 21:37
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
0
titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
28 nov. 2018 à 21:46
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
0
akb213 Messages postés 18 Date d'inscription mercredi 28 novembre 2018 Statut Membre Dernière intervention 15 mai 2023
28 nov. 2018 à 22:15
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
0
titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
28 nov. 2018 à 22:40
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
0
akb213 Messages postés 18 Date d'inscription mercredi 28 novembre 2018 Statut Membre Dernière intervention 15 mai 2023 > titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023
28 nov. 2018 à 22:47
D'accord, Merci beaucoup en tout cas, j'ai réussit à ouvrir le fichier avec tes instructions.
0
akb213 Messages postés 18 Date d'inscription mercredi 28 novembre 2018 Statut Membre Dernière intervention 15 mai 2023
29 nov. 2018 à 18:35
j'ai appliqué le code , avec des modifications au fichier , j'ai obtenu ce que je voulais

Merci
0