Ne reporter dans une autre feuille que les lignes non vides

Bonjour,

Je suis nouveau sur le forum, d'un niveau moyen sur Excel et nul sur VBA.

Je joins le fichier brut qui comporte des données journalières que je voudrais regrouper automatiquement sur une autre feuille en les agrégeant par mois.

Ainsi, la feuille générée reprendrait les lignes 34, 65, 96, 124, etc...mais uniquement pour les colonnes de V à AA.

Je reste à votre dispo pour toute question complémentaire.

Quoi qu'il en soit, merci à chacun des contributeurs.

Bonne fin de journée.

Raymond

10conso-elect.xlsm (141.87 Ko)

Bonjour,

Via un TCD peut être afin d'éviter le VBA ? Ne connaissant pas l'objectif final je ne m’avancerai pas plus loin pour l'instant. Également possible via POWER QUERY a condition que vous installiez l'add-on pour Excel.

Cdlt,

Bonjour,

En fait comme je l'ai indiqué en introduction, je suis nouveau sur le forum et je pensais pouvoir obtenir une solution "clé en main".

TCD et POWER QUERY sont des termes dont je ne connaissais même pas l'existence.

En tous cas, merci d'avoir essayé de m'aider.

Cordialement

Bonjour,

Un TCD est l'acronyme de tableau croisé dynamique (2) et permet de synthétiser une BDD. Comme le montre l'exemple joint les différentes lignes contenant des valeurs (3) ont été filtrées avec la valeur reportée en face (donc en soit un filtre automatique).

Si vous ajouter des valeurs dans votre BDD il suffit d'actualiser le TCD pour avoir les nouvelles lignes (4).

Comme je l'ai expliqué précédemment, tout dépend de ce que vous souhaitez en faire, l'objectif de la manipulation, ou coller la valeur, etc ...

2021 03 01 18 42 28 copie de conso elect xlsm lecture seule excel

POWER QUERY, lui est un outil de nettoyage et transformation des données (par exemple permet de restituer une table avec les données filtrées et/ou agrégées).

Cdlt,

Bonsoir Raymond K, Ergotamine, le forum,


Une tentative par macro,

CTRL + e .....pour exécuter la macro


[EDIT] macro modifée

Cordialement,

Bonjour,

Nous y voilà, quasi tout le monde vient ici pour des solutions gratos clé en main.

Ce n'est plus un forum d'entraide, c'est un forum de travail dissimulé.

Merci Ergotamine et Xorsankukai.

Même si vos solutions ne répondent qu'imparfaitement à mes souhaits, vous m'avez aidé à la compréhension de la macro et je vais essayer d'avancer seul. En effet, il semble qu'un membre impliqué ait pris ombrage de ma requête et je ne voudrais pas abuser de la bonne volonté des membres de ce forum.

Quoi qu'il en soit, encore merci aux deux contributeurs désignés ci-avant.

Bonne soirée à tous.

Raymond

Bonjour Raymond,

Je n'ai pris ombrage de rien du tout. C'est une tendance qu'il me semble remarquer. Pas de chance, c'est tombé sur toi alors que, clairement, ce n'est pas toi qui abuses le plus.

Ma remarque n'implique que moi et n'empêche personne de venir en aide à quiconque...

Bonjour à tous,

Il n'y a pas de soucis. Il est vrai que nous voyons de plus en plus de personnes venant et nous demandant de leur développer une application complète qui dans un autre monde (le réel de l'entreprise) serait réalisé par un professionnel pour les professionnels, et tout ce qui va avec.

Ici le temps consacré par les membres actifs (dont fait parti JoyeuxNoël) est parfois très conséquent, au grand dame des auteurs parfois peu regardant sur le travail réalisé, utilisant les "je veux", "clé en main", "ça ne marche pas", "je veux que ce soit en un clic", "trop de manipulation", ne nous joignant pas leur travail que nous devons alors recréer de toutes pièces, ou même manquant parfois des règles de politesse. Je passe également sur les demandes les plus floues/farfelues/incompréhensibles.

Comme l'a bien dit JoyeuxNoël vous n'étiez pas directement visé et c'est le mot "clé en main" qui a dû être l’élément déclencheur :)

Bref je diverge je diverge, en attendant, qu'est ce qui ne répond qu'imparfaitement à ton problème ?

Cdlt,

PS : Je pense que j'ai aussi mes tords en ne proposant souvent qu'une solution partielle sans aucune pédagogie ou accompagnement pour l'utilisateur.

Bonjour Raymond K, JoyeuxNoel, Ergotamine,

Merci pour ton retour,


Force est de constater que de nombreux demandeurs ne font ni l'effort de chercher ni de comprendre la solution proposée, et se contentent de solutions toutes faites, et parfois ne prennent même pas la peine de répondre où de remercier le contributeur.

JoyeuxNoel en a peut-être fait les frais, d'où ce juste rappel qu'il s'agit d'un forum d'entraide, pour apprendre, progresser, et partager,


Juste par curiosité, en quoi ma macro ne répond pas entièrement à ta demande ?

As-tu un visuel du résultat escompté ?

J'ai réussi à simplifié mon code....un peu plus digeste....

Option Explicit

Dim tablo, tabloS()
Dim j&, k&

Sub MettreAjour()
   With Sheets("de 11-2018 à 02-2021")
    tablo = .Range("A4:AA" & .Range("A" & Rows.Count).End(xlUp).Row)
   End With

            k = 0
    For j = 1 To UBound(tablo, 1)
        If tablo(j, 23) <> "" And tablo(j, 23) <> 0 Or tablo(j, 24) <> "" Then
            ReDim Preserve tabloS(1 To 6, 1 To k + 1)
                tabloS(1, 1 + k) = tablo(j, 22)
                tabloS(2, 1 + k) = Format(tablo(j, 19), "mm/yyyy")
                tabloS(3, 1 + k) = tablo(j, 24)
                tabloS(4, 1 + k) = tablo(j, 25)
                tabloS(5, 1 + k) = tablo(j, 26)
                tabloS(6, 1 + k) = tablo(j, 27)
            k = 1 + k
        End If
    Next j

    With Sheets("TEST")
     .Range("A1").CurrentRegion.Offset(1, 0).ClearContents
      On Error Resume Next
     .Range("A2").Resize(UBound(tabloS, 2), 6) = Application.Transpose(tabloS)
     .Activate
    End With
     Erase tablo: Erase tabloS
End Sub

Bonne continuation,

Cordialement,

Ouais, désolé, j'suis blasé là depuis un petit moment.

Je ne m'y retrouve plus.

Re,

Ouais, désolé, j'suis blasé là depuis un petit moment.

Je ne m'y retrouve plus.

Sans doute l'effet covid qui ne fait rien pour arranger les choses, courage, il faut tenir bon !

Les beaux jours arrivent, les oiseaux chantent (et pourrissent ma terrasse ,)....

Amitiés,

Bonjour à tous !

Raymond K

Voici ton fichier si j'ai bien compris ta demande

Bonne journée !

8conso-elect.xlsm (149.60 Ko)

Bonjour,

Merci à tous.

Bravo : Problème résolu.

Raymond K

Re,

En fait , c'était plus simple que je ne le pensais....si le rendu souhaité est celui proposé par Nordik_Nation :

Il suffisait de supprimer la dernière condition

Or tablo(j, 24) <> ""

sur cette ligne:

 If tablo(j, 23) <> "" And tablo(j, 23) <> 0 Or tablo(j, 24) <> "" Then

Bonne continuation,

Rechercher des sujets similaires à "reporter feuille que lignes vides"