Insérer une colonne en A avec un incrément de 1

  • Initiateur de la discussion Initiateur de la discussion MJ13
  • 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 !

MJ13

XLDnaute Barbatruc
Bonjour à tous

Je cherche un code VBA pour rajouter rapidement (c'est important 😱) sur une feuille une colonne au début d'une base de données avec un incrément de 1. Le but est de pouvoir faire des tris et revenir comme au début du fichier en triant sur la colonne 1.

Merci d'avance 🙂.
 
Re : Insérer une colonne en A avec un incrément de 1

Salut Michel,

Ca fait une drôle d'impression de te voir poser une question (d'apparence) aussi simple ... ou alors quelque chose m'échappe (une fois de plus 😱). Je présume que tu as déjà dû essayer des choses et donc en voici une ... si j'ai bien compris (et si la colonne B est "complète")

De toutes les façons ... tu nous diras 😉

VB:
Sub ajout()
With Sheets(1)
    Range("A:A").Insert
    Range("A1") = 1
    Range("A1:A" & Me.Range("B" & Rows.Count).End(xlUp).Row).DataSeries Rowcol:=xlColumns, Type:=xlLinear, Step:=1
End With
End Sub
 
Re : Insérer une colonne en A avec un incrément de 1

Bonjour Modeste


Ca fait une drôle d'impression de te voir poser une question (d'apparence) aussi simple ... ou alors quelque chose m'échappe (une fois de plus 😱).

Merci Modeste 🙂, mais tu sais, je ne suis pas si doué que cela par rapport aux pros d'XLD. Très souvent, je suis comme un diesel, dur à l'allumage, mais après ça roule 😱.

Merci aussi pour le code qui m'a bien aidé (je ne connaissais pas .DataSeries). J'ai donc fait ce code en cas de filtre présent sur la feuille 🙂:

Code:
Sub ajout_Col1_Ordre_Début()
suite2:
derl = ActiveSheet.Cells(1, 1).SpecialCells(xlLastCell).Row
On Error GoTo suite
With ActiveSheet 'Sheets(1)
    Range("A:A").Insert
    Range("A2") = 1
    'Range("A1:A" & Me.Range("B" & Rows.Count).End(xlUp).Row).DataSeries Rowcol:=xlColumns, Type:=xlLinear, Step:=1
    Range("A2:A" & derl).DataSeries Rowcol:=xlColumns, Type:=xlLinear, Step:=1
End With
Cells(1, 1) = "Ordre Début"
End
suite:
ActiveSheet.ShowAllData
GoTo suite2
End Sub

Bon Week-end 🙂.
 
Dernière édition:
Re : Insérer une colonne en A avec un incrément de 1

Re-bonjour Michel,

Si tu affiches toutes les données au cas où un filtre serait actif, ce qui suit me semble plus simple et plus court:
VB:
Sub ajout_Col1_Ordre_Début()
If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData
With ActiveSheet
    .Range("A:A").Insert
    .Range("A2") = 1
    .Range("A2:A" & .Range("B" & Rows.Count).End(xlUp).Row).DataSeries Rowcol:=xlColumns, Type:=xlLinear, Step:=1
End With
Cells(1, 1) = "Ordre Début"
End
End Sub

... à tester soigneusement ... en attendant que quelqu'un propose un code plus rapide, efficace, etc. 🙂
 
Re : Insérer une colonne en A avec un incrément de 1

Re Modeste

Ah oui, ton code est bien mieux. Merci 🙂.

Mais si tu n'as pas de cellules en fin de colonne B, il vaut mieux mixer les 2 codes (Hé, Hé, Musique Maestro 😱):

Code:
Sub ajout_Col1_Ordre_Début_bis()'Modeste
If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData
derl = ActiveSheet.Cells(1, 1).SpecialCells(xlLastCell).Row
With ActiveSheet
    .Range("A:A").Insert
    .Range("A2") = 1
    .Range("A2:A" & derl).DataSeries Rowcol:=xlColumns, Type:=xlLinear, Step:=1
End With
Cells(1, 1) = "Ordre Début"
End Sub
 
Re : Insérer une colonne en A avec un incrément de 1

Bonjour, Michel 😀, Modeste 😀, le Forum,

... Et comme ceci 😕 ?

Code:
Sub Pour_Michel()
    Columns("A:A").Insert
    Range("A1") = "début"
    Range("A2") = "1"
    Range("A2").CurrentRegion.SpecialCells(xlCellTypeBlanks).Select
    Selection.FormulaR1C1 = "=R[-1]C+1"
    Selection.Value = Selection.Value
    Range("A1").Select
End Sub

A bientôt 🙂🙂
 
Re : Insérer une colonne en A avec un incrément de 1

Bonsoir mon ânesse préférée 🙂,

Si "DJ Michel" (qui mixe à donf pour les meufs et les keums, le vendredi soir 😛) dit qu'il y a des cellules vides en colonne B, il me semble que ton code risque de coincer ... ceci dit le mien -même remasterisé- n'est nullement à l'abri d'un couac non plus (mais comme ça je t'aurai embrassée sans en avoir l'air)

Oups! un peu en retard!
 
Dernière édition:
Re : Insérer une colonne en A avec un incrément de 1

Re-bonjour, Michel 😀, Modeste 😀, le Forum,

00: J'ai comme un problème avec ton code . Voir le fichier:

J'aurais mieux fait de rester dans mon enclos 😱 ! "Unlike me" viiiiite 🙂 !

...Si "DJ Michel" (qui mixe à donf pour les meufs et les keums, le vendredi soir ) dit qu'il y a des cellules vides en colonne B...

M'en va vite me cacher 🙄... après t'avoir embrassé itou 😉 !

A bientôt 😛🙂
 
Re : Insérer une colonne en A avec un incrément de 1

Re-bonsoir,

Ah ben ça alors, v'là DJ Gégé qui s'y met aussi 😱

@00 personne ne pouvait prévoir, au départ, que Michel tendrait des pièges infâmes, comme des filtres activés, des cellules vides (va savoir ce qu'il nous mitonne encore 😉)

Bonne soirée à tout le monde, ici et ailleurs!
 
- 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

Retour