j'essaie de monter un de mes tous premiers codes VBA qui va être l'amoncellement de plusieurs codes ... mais j'ai du mal à mettre en plaec le plus simple.
Pour l'instant, je voudrais supprimer les lignes 1 à 8 de mon fichier et les colonnes où il y a de la couleur. Malheureusement la macro que j'ai édité foire complètement, mais je ne sais pas où.
Attention tu as des cases fusionnées en haut du tableau du coup la sélection récupère l'ensemble des colonnes sur lesquelles les cellules fusionnées s'étendent.
Hormis ce problème, le code suivant devrait mieux convenir :
avec ce que j'ai compris
les select sont souvent inutiles
Sub Macro1()
Application.ScreenUpdating = False
For i = 20 To 1 Step -1
If Cells(9, i).Interior.ColorIndex = 44 Then Columns(i).Delete Shift:=xlToLeft
Next i
Rows("1:8").Delete Shift:=xlUp
Application.ScreenUpdating = True
End Sub
Je me suis mal exprimé et ai amené un quiproquo : les cellules a entete colorée sont certes à supprimer mais sont surtout fixe, alors que la couleur c'est moi qui l'ai ajouté manuellement (cétait juste un repère).
Il s'agit donc bien d'effacer les colonnes C, de F à O et de Q à T ... tout en incluant le " défusionnage" ^^
Ca fonctionne du tonerre, merci !
Après l'autre problème que j'ai, c'est que je vais insérer un code pour créer automatiquement un TCD, mais en dessus de mon extraction, j'ai des lignes à supprimer pour ne pas que ça pollue mon TCD.
Ce sont les 2 dernières lignes où il y a du texte.
J'aurai besoin de vous pour savoir si c'est faisable.
ps : voila mon code actuellement
Code:
Sub TCD()
Cells.Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Rows("1:8").Select
Selection.Delete Shift:=xlUp
Range("C:C,F:O,Q:T").Select
Selection.Delete Shift:=xlToLeft
End Sub
C'est exactement ça ! C'est une espèce de synthèse qui vient s'incrémenter.
Et comme le nombre de lignes extrait est aléatoire, la place de la synthèse l'est tout autant MAIS, on peut dire que si après les lignes qu'il y aura de la ligne 2 à la ligne 20 par exemple, il y a un espace, alors on peut supprimer les lignes qu'il y a après ou tout du moins les effacer, et cela dans toutes les colonnes !
me revoila puisque j'ai tenté des choses ... qui ne fonctionnent pas !
Donc en fait j'ai trouvé un code pour générer un TCD qui s'adapte automatiquement à la plage de données (permet de rajouter des lignes, d'en supprimer, etc.) mais dans mon cas il n'apparait pas !
ps : je me permets une petite apparté mais je n'ai pas trouvé sur internet : je cherche une fonction pour changer le libellé d'une colonne : par exemple changé le "N° de piece" de mon extraction en "Numéro de facture" après avoir appliqué la macro. Et imaginons que ce libellé et en B2 =)
Merci
edit : j'ai vu que mon code comporté une erreur : la module que m'a dit de rajouter Mintri me supprimait les libellés ! je l'ai donc supprimer puisque de toute manière, le fait d'effacer certaines colonne supprime aussi le tableau de synthèse aussi. Mais toujours ce pb de non génération du TCD ...