plusieurs question - novice en VBA

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 !

Ida501

XLDnaute Nouveau
Bonjour à tous,


je suis novice en codage vba...enfin pour être même très honnête je n'y connais pas grand chose !

Pour un usage personnel, j'ai actuellement une base de données excel avec plusieurs onglets que j'ai réussi à consolider grâce à quelques tutos et lecture ... par contre lorsque la consolidation est faite, certaines en-tête ne sont pas dans le même style (je les ai mis en rouge dans mon ficher que je vous joindrai si j'y arrive ), en plus de cela, j'ai la première en-tête qui se répète juste dessous de celui que j'ai crée sur l'onglet Consolidation.. (je sais pas si je me suis bien exprimée ). Pouvez-vous me dire pourquoi cela fait ça ?

deuxième question : je souhaite insérer 3 colonnes entre C et D dans le fichier consolidation pour que cela se fasse de manière simultanée dans les autres onglets, j'ai réussi à en insérer qu'une, du coup j'ai essayé de bidouiller le code, et j'arrive à insérer dans les onglets 1 à 7 et pas dans l'onglet consolidation !(je voulais l'inverse, insérer dans la consolidation et répercutions simultanée dans les autres onglets). Quand j'essaie de ne pas mettre de numéro de colonne, cela ne fonctionne pas. Comment faire ?

je vous joins déjà le code que j'ai utilisé, j'ai peut être fait une erreur quelque part.

Option Explicit
'*******************************
'procédure permettant la consolidation
'de plusieurs données
'*************************************

'Déclaration des variables
Dim I As Integer, J As Integer
Dim DerniereLigne As Integer
Dim LastRowconsolidation As Integer

'Procédure permettant d'effacer toutes les données de la feuille consolidation

Sub effacedonnées()

Worksheets("consolidation").Select
Rows("6:1000000").Select
Selection.Clear
Range("A6").Select

End Sub

'Procédure permettant la consolidation des feuilles du classeur
Sub consolider()

Application.ScreenUpdating = False
effacedonnées

'Boucle permettant de lire toutes les feuilles à consolider
For J = 1 To 7 'Parcours les feuilles de AUTISME à UEMA
Sheets(J).Activate
Sheets(J).Select
DerniereLigne = Range("A1000000").End(xlUp).Row

For I = 1 To DerniereLigne
Sheets(J).Select
Rows(I).Select
Selection.Copy
Sheets("consolidation").Select
LastRowconsolidation = Range("a1000000").End(xlUp).Row + 1
Cells(LastRowconsolidation, 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False

Next I

Next J

Application.ScreenUpdating = True
MsgBox "La consolidation est terminée...", vbOKOnly + vbInformation, "Information"

End Sub


'Procédure permettant l'insertion de colonnes
Sub InsererColonne()
Dim C As Worksheet
Dim J As Byte
Dim I As Integer
Dim O As Worksheet
Dim DLO As Integer
Dim DLC As Integer

Set C = Worksheets("Consolidation")
For J = 1 To 7
Set O = Worksheets(J)
DLO = O.Cells(Application.Rows.Count, "A").End(xlUp).Row
For I = 1 To DLO
DLC = C.Cells(Application.Rows.Count, "A").End(xlUp).Row + 1
O.Rows(I).Copy C.Cells(DLC, "A")
Next I
O.Columns(4).Insert Shift:=xlToRight
Next J


End Sub


Je sais pas du tout si je me suis bien exprimée mais je l'espère !


Merci d'avance,
 

Pièces jointes

Dernière édition:
Bonsoir Ida501
Il faut bien débuter un jour, et, c'est peut-être ça le plus difficile ?
A ce que j'ai pu lire et comprendre :
- les onglets (feuilles) contiennent des tableaux structurés pour lesquels Excel a attribué un nom avec un numéro incrémenté à chaque création : Tableau1, Tableau2, .....,Tableau99, etc
- Quand ces tableaux sont recopiés avec leur entête et leurs données dans la feuille Consolidation, il y a création de ces mêmes tableaux dans la dite feuille, toujours avec incrémentation de la numérotation. Dans le cas présent, comme toutes les lignes de la feuille consolidation sont effacées, il y a juste création de nouveaux noms. Sinon, il y a duplication ( voir feuil1 dans classeur en retour).

Sinon, pour le codage, voir ma façon de faire, qui accélère le traitement (quasi instantané pour les données actuelles).

Pour l'insertion des colonnes, je n'ai pas bien compris.
Pourquoi ne pas les avoir créées en même temps que les tableaux qui doivent être identiques je suppose.
Que doivent contenir ces colonnes ?

Merci de tes réponses
Claude alias Pounet95
 

Pièces jointes

Bonsoir Patrick,
Ravi de voir que je ne suis pas le seul à avoir des pb de compréhension !
Ce qui me chagrine aussi, et j'aimerais bien savoir d'où ça vient :
- quand j'ai posté, il n'y avait pas ta réponse, ni aucune autre
- je suis revenu sur la liste des messages pour voir et même mon post n'y était pas
- quelques secondes après la "cloche a sonné" m'avertissant d'une réponse, la tienne en l'occurence.

Si tu sais ou quelqu'un du forum, je suis preneur pour un semblant d'explications.
Claude alias Pounet95
 
Bonjour à tous,

Je ne sais pas si cela correspond bien à la demande mais les codes sont rapidement modifiés pour :
- consolider les données
- supprimer les lignes vides dans la feuille consolidation par une macro rajoutée
- boucle pour créer 3 colonnes sur les feuilles 1 à 7

A voir avec d'autres réponses qui viendront.
C'est toujours bien de prendre différents codes pour apprendre...et réapprendre. 😉

Xl-ment
zebanx
 

Pièces jointes

Bonsoir Ida501
Il faut bien débuter un jour, et, c'est peut-être ça le plus difficile ?
A ce que j'ai pu lire et comprendre :
- les onglets (feuilles) contiennent des tableaux structurés pour lesquels Excel a attribué un nom avec un numéro incrémenté à chaque création : Tableau1, Tableau2, .....,Tableau99, etc
- Quand ces tableaux sont recopiés avec leur entête et leurs données dans la feuille Consolidation, il y a création de ces mêmes tableaux dans la dite feuille, toujours avec incrémentation de la numérotation. Dans le cas présent, comme toutes les lignes de la feuille consolidation sont effacées, il y a juste création de nouveaux noms. Sinon, il y a duplication ( voir feuil1 dans classeur en retour).

Sinon, pour le codage, voir ma façon de faire, qui accélère le traitement (quasi instantané pour les données actuelles).

Pour l'insertion des colonnes, je n'ai pas bien compris.
Pourquoi ne pas les avoir créées en même temps que les tableaux qui doivent être identiques je suppose.
Que doivent contenir ces colonnes ?

Merci de tes réponses
Claude alias Pounet95


Merci beaucoup pour ton retour Claude ! C'est quand même mieux avec les lignes supplémentaires.
En fait j'avais déjà finalisé tous mes tableaux quand je me suis rendue compte que j'avais des informations en plus que je voulais renseigner. Je voulais y ajouter une date d'entrée, de sortie et évidement une tranche d'âge.
Du coup, je voulais essayer un code pour insérer la colonne dans la feuille consolidation afin de ne pas avoir à tout reprendre... en fait quand je sélectionne tous mes onglets je ne peux rien insérer.
Mais j'ai repris mes tableaux un par un et maintenant c'est bon !

Merci encore

Claudia (Ida501)
 
Dernière édition:
Bonjour à tous,

Je ne sais pas si cela correspond bien à la demande mais les codes sont rapidement modifiés pour :
- consolider les données
- supprimer les lignes vides dans la feuille consolidation par une macro rajoutée
- boucle pour créer 3 colonnes sur les feuilles 1 à 7

A voir avec d'autres réponses qui viendront.
C'est toujours bien de prendre différents codes pour apprendre...et réapprendre. 😉

Xl-ment
zebanx

Merci pour ta réponse !
L'idée pour l'insertion des colonnes c'était de les insérer dans la feuille consolidation et qu'elles apparaissent en même temps dans les onglets 1 à 7.

🙂
 
- 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

Discussions similaires

Réponses
3
Affichages
50
Réponses
7
Affichages
108
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
257
Réponses
3
Affichages
542
Réponses
5
Affichages
52
Réponses
10
Affichages
760
Retour