[RÉSOLU] VBA : Action conditionnelle

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 !

dionys0s

XLDnaute Impliqué
Bonjour

J'ai la macro d'insertion de colonne suivante :

Code:
Sub Insertion()

    Columns("A:A").Select
    Selection.Insert Shift:=xlToRight
    Range("A1").Select
    
End Sub

J'aimerais savoir comment faire en sorte qu'elle s'execute sur tous les onglets de mon classeur, sauf le premier

Merci pour votre aide
 
Dernière édition:
Re : VBA : Action conditionnelle

Re Dionis0s, le Forum

Vois ci cela te convient
à mettre dans le Module ThisWoorkbook
Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name <> "Feuil1" Then 'A adapter
    Columns("A:A").Insert Shift:=xlToRight
    Range("A1").Select
End If
End Sub
Inconvénient : à chaque activation de la feuille (Sauf la première) une colonne s'incrémentera

N'hésites pas si problème 🙂

Bonne Journée
 
Re : VBA : Action conditionnelle

Euh c'est quoi le module ThisWorkbook ?

j'ai essayé en mettant le code comme ceci
Code:
Sub Insertion()

If Sh.Name <> "Datas CA" Then
    Columns("A:A").Select
    Selection.Insert Shift:=xlToRight
    Range("A1").Select
End If
End Sub
mais ça marche pas...
 
Re : VBA : Action conditionnelle

Bonjour Dionys0s, Dull, bonjour le forum,

Pour éviter l'inconvénient de Dull on pourait faire :
Code:
Sub Insertion()
Application.ScreenUpdating = False 'masque les changements à l'écran
For x = 2 To Sheets.Count 'boucle sur tous les onglets du classeur en partant du second
    With Sheets(x) 'prend en compte l'onglet de la boucle
        .Select 'sélectionne l'onglet
        .Columns("A:A").Insert Shift:=xlToRight 'insère une colonne
        .Range("A1").Select 'sélectionne la cellule A1
    End With 'fin de la prise en compte de l'onglet de la boucle
Next x 'prochain onglet de la boucle
Sheets(1).Select 'sélectionne le premier onglet (à adapter)
Application.ScreenUpdating = True 'affiche les changements à l'écran
End Sub

Edition :
Dionys0s ton code était bon il te manquait juste la boucle For... Next.
 
Dernière édition:
Re : VBA : Action conditionnelle

Bonjour dionys0s, Robert 🙂, Dull 🙂,
En retard mais comme je l'ai fait...A mettre dans un module standart
Il faut que la feuille à ne pas traiter soit en premier onglet:
Code:
[COLOR=blue]Sub[/COLOR] Insertion()
[COLOR=blue]For Each[/COLOR] F [COLOR=blue]In[/COLOR] Worksheets
    [COLOR=blue]If[/COLOR] F.Index <> 1 [COLOR=blue]Then[/COLOR] F.Columns("A:A").Insert Shift:=xlToRight
[COLOR=blue]Next[/COLOR] F
[COLOR=blue]End Sub[/COLOR]
Cordialement
 
Re : VBA : Action conditionnelle

Dionis0s, le Fil

Alt + F11

dans le MODULE THISWORBOOK (etjelerépète)

Edition:
Robert🙂...tusaisaquelpointjetedéteste... 🙂 mais je ne t'en veux point 😡 car tu est l'un de mes maitre 😀... n'empêches que je te dois quelques citronsverts😀

Re Edith:
SiFG🙂s'ymetaussi😛

Bonne Journé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

Discussions similaires

Réponses
3
Affichages
877
L
Réponses
9
Affichages
1 K
Réponses
18
Affichages
2 K
J
Réponses
22
Affichages
3 K
jui42
J
Retour