Copier Coller avec insertion ligne, masque des lignes vides

voila ce que donne reste petit bug

ahhhh

j'obtient graphe 1 pour tableau recp mais pas pour tableau P à venir comme avant le graphe 2

graphe 1:

g1

graphe 2:

g2

n

Essayer cette modif

13p4.xlsb (87.68 Ko)

le quelle

voir fichier joint ci-dessus

Lorsque j'exécute tout le module 8 , une fenêtre s'affiche demande de fusionner cellule et j'ai obtient ça :

gggggg

lorsque je fais point d'arrêt jusqu'à .Merge s'affiche bien :

[attachment=1]111.JPG[/attachment

111111

c'est bon ca fonctionne

111

Vous pouvez m'expliquer ce que vous aviez fait pour je comprend s merci beaucoup

j'ai juste déplacé l'affichage du tableau récapitulatif

        '........................................................................
        '// affichage tableau récapitulatif
        Ligne = Ligne + j + 2
        nb_colonnes = Récap_années.Count
        '//Application.Transpose :Renvoie une plage de cellules verticales sous forme de plage horizontale
        Cells(Ligne, 1).Resize(, nb_colonnes).Value = Récap_années.Keys
        Ligne = Ligne + 1
        Cells(Ligne, 1).Resize(3, nb_colonnes).Value = Application.Transpose(Récap_années.Items)
        Ligne = Ligne + 1
        '.............................................................................

après ce paquet d'instructions

       'graphe sans total ....
        Ligne = Graphe(Ligne + TypesMut.Count, Range(Cells(Ligne, 1), Cells(Ligne + TypesMut.Count, MutY.Count + 2)), Range(Cells(Ligne + TypesMut.Count + 1, 3), Cells(Ligne + TypesMut.Count + 1, MutY.Count + 3)), xlColumnStacked, "recrutementsparannee")

      ActiveSheet.ChartObjects("recrutementsparannee").Activate
       ActiveChart.PlotArea.Select
       ActiveChart.ChartArea.Select
       ActiveSheet.Shapes("recrutementsparannee").ScaleHeight 0.9548611111, msoFalse, _
           msoScaleFromTopLeft
       ActiveChart.FullSeriesCollection(1).Select
       ActiveChart.PlotArea.Select
       Selection.Left = 20.915
       Selection.Top = 26.605
       Selection.Left = 20.915
       Selection.Top = 26.605
       ActiveChart.ChartArea.Select
       ActiveSheet.Shapes("recrutementsparannee").ScaleHeight 0.8945454545, msoFalse, _
       msoScaleFromBottomRight

Bien moi juste j'ai changer Ligne +1 a ligne +5 et ca marcher. Par contre j'aimerai bien que vous m'expliquer un peu ce que vous aviez ajouter et comment ca fonctionne

Pour ce qui concerne le tableau récapitulatif, j'ai créé un tableau dynamique de type dictionnaire avec pour élément un tableau à 3 dimensions

Dim Récap_années As New Scripting.Dictionary 

La première dimension correspond aux promos réalisées, la seconde aux promos à venir, la troisième au total.

La première clé et le premier élément sont égaux à ceci

Récap_années("Récapitulatif") = Array("Promos réalisées", "Promos à venir", "Total")

Les clés suivantes correspondent aux années et les éléments suivants aux nombres de promos.

Le tableau est rempli pour les promos réalisées au niveau des éléments dans la 1ére dimension (cumul nb promos réalisées) et dans la 3ème dimension (cumul nb promos)

                If Not Récap_années.Exists(année) Then Récap_années(année) = Array("", "", "")
                tb_r = Récap_années(année): tb_r(0) = Val(tb_r(0)) + 1: tb_r(2) = Val(tb_r(2)) + 1: Récap_années(année) = tb_r

Le tableau est rempli pour les promos à venir au niveau des éléments dans la 2ème dimension (cumul nb promos à venir) et dans la 3ème dimension (cumul nb promos)

                If Not Récap_années.Exists(année) Then Récap_années(année) = Array("", "", "")
                tb_r = Récap_années(année): tb_r(1) = Val(tb_r(1)) + MutY(Key)(Item): tb_r(2) = Val(tb_r(2)) + MutY(Key)(Item): Récap_années(année) = tb_r

Enfin le tableau est affiché sur une ligne pour ses clés

Cells(Ligne, 1).Resize(, nb_colonnes).Value = Récap_années.Keys

, et 3 lignes pour ses éléments.

Cells(Ligne, 1).Resize(3, nb_colonnes).Value = Application.Transpose(Récap_années.Items)

J'ai pas bien compris cette formule

 tb_r = Récap_années(année): tb_r(0) = Val(tb_r(0)) + 1: tb_r(2) = Val(tb_r(2)) + 1: 

Ce n'est pas une formule mais une séquence d'instructions séparées par ":" , se trouvant sur la même ligne. C'est équivalent à la séquence ci-dessous sur plusieurs lignes :

'récupération de l'élément tableau à 3 dimensions de la collection Récap_années pour l'année déterminée
tb_r = Récap_années(année)
'cumul sur la première dimension du tableau
tb_r(0) = Val(tb_r(0)) + 1
'cumul sur la troisième dimension du tableau
tb_r(2) = Val(tb_r(2)) + 1:
'mise à jour de l'élément tableau à 3 dimensions de la collection Récap_années pour l'année déterminée
Récap_années(année) = tb_r

Merci beaucoup

Rechercher des sujets similaires à "copier coller insertion ligne masque lignes vides"