Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion adoul
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

adoul

Guest
Bonjour tous,

SVP j'ai un petit souci!!!

j'ai rencontré un petit problème au niveau de copie de l'année 2011 'il ne prend le même données.

cette formule INDIRECT(A6&"!C5") marche bien mais j'aimerai continué sur le même démarche qui j'ai.


y'a t'il quelque que peux me aider!!!


Merci
 

Pièces jointes

Re : Probleme VBA

Bonjour adoul,

Tu aurais pu rester sur le même fil qu'hier ... en remerciant BrunoM45 au passage et ce, même si tu préférais une macro à une proposition par formule (laquelle fonctionnait parfaitement, comme tu l'as souligné!)

D'autre part, dans ton code, tu aurais dû préciser dans quelle procédure il fallait apporter une modification. En imaginant que je ne me sois pas trompé, ta procédure "regrouper" modifiée ci-dessous:
VB:
Public Sub regrouper()
    Dim i%, x%, a%, b%
    Application.ScreenUpdating = False
    For i = 1 To 5
        Sheets(i).Rows("5:200").ClearContents
    Next i
    x = Sheets.Count
    For i = 1 To 5
        For a = 6 To x
            Sheets(i).Range("A65000").End(xlUp).Offset(1, 0) = Sheets(a).Name
            Sheets(i).Cells(65000, 2).End(xlUp).Offset(1, 0) = Sheets(a).Cells(5, 2 + i)
            Sheets(i).Cells(65000, 3).End(xlUp).Offset(1, 0) = Sheets(a).Cells(6, 2 + i)
        Next a
    Next i
End Sub
J'ai supprimé la boucle For b = 3 To 7 et modifié les indices en conséquence.

... A toi de voir!
 
Re : Probleme VBA

Salut Modeste et le forum
Juste une remarque sur ta macro :
Code:
Sheets(i).Range("A65000").End(xlUp).Offset(1, 0) = Sheets(a).Name
Sheets(i).Cells(65000, 2).End(xlUp).Offset(1, 0) = Sheets(a).Cells(5, 2 + i)
Sheets(i).Cells(65000, 3).End(xlUp).Offset(1, 0) = Sheets(a).Cells(6, 2 + i)
Oui, je sais, dans l'idéal, la dernière cellule des colonnes A, B et C sont sur la même ligne. Personnellement je ne me fie pas à ça, et une fois la ligne trouvée en A, elle me sert de référence pour les autres colonnes. Donc, je te souhaite de ne jamais avoir un enregistrement dont une des colonnes est vides... ni une faute de sur les colonnes concernées.

De plus, maintenant qu'excel a étendu ses limites, je préfère mettre
Code:
Sheets(i).cells(Rows.count,"A").End(xlUp).Offset(1, 0) = Sheets(a).Name
Sheets(i).cells(Rows.count,"A").End(xlUp).Offset(0,1) = Sheets(a).Cells(5, 2 + i)
Sheets(i).cells(Rows.count,"A").End(xlUp).Offset(0,2) = Sheets(a).Cells(6, 2 + i)
A+
 
Re : Probleme VBA

Bonsoir,
Salut Gorfael,

Tu as parfaitement raison ... d'autant que dans ce cas, la feuille "Décembre" n'est pas tout à fait complète et, dans l'absolu c'eût pu (joli, nooon? 😛) être la feuille de février ou une autre ... Tous les résultats auraient alors été décalés!

Merci à toi,
Joyeuses fêtes aux fêtards,


Edit: nondûtjûûû, je m'ai fée à voir. Maire-ci, Victor21!
 
Dernière édition:
Re : Probleme VBA

Bonjour tous et merci tous de me consacrer un peu de temps de m'aider!

Gorfael vous avez raison pour le code que :
Sheets(i).cells(Rows.count,"A").End(xlUp).Offset(1, 0) = Sheets(a).Name
Sheets(i).cells(Rows.count,"A").End(xlUp).Offset(0,1) = Sheets(a).Cells(5, 2 + i)
Sheets(i).cells(Rows.count,"A").End(xlUp).Offset(0,2) = Sheets(a).Cells(6, 2 + i)
mais juste un petit souci:

sa m'empeche de ne pas utillisé le ListBox1 de chaque produit:

c'est à dire elle s'excute pour tous les catégorie à la fois!!!
y'a t'il une solution pour ça?

pour pouvez vérifier lorsque vous essayé de choisir à partir de la listBox1 un catégorie de produit

Merci
 

Pièces jointes

Re : Probleme VBA

Salut tous,
merci Bebere et tous pour les corrections ils marche bien.

juste pour les deux dernier colonnes (Cumule au 31/01/....)

le calcul se fait comme ça:
cumule au 31/01/
2010 2011
janvier 120 122
fevrier 230 +valeur de janvier 122 +valeur de janvier
... .....
Décembre somme de tous les mois somme de tous les mois


Merci et bonne année
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Résolu(e)
Microsoft 365 VBA - Tableau
Réponses
10
Affichages
714
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…