Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Création colonnes en fonction de la valeur d'une celulle en macroVBA

Marie1212

XLDnaute Nouveau
C'est encore moi !

J'ai de nouveau un petit soucis. Je souhaite qu'excel m'insère automatiquement le nombre de colonnes qui sera inscrit en valeur dans une cellule.
Exemple: Il y a le chiffre 42 dans une cellule, je veux qu'excel par VBA intègre 42 colonnes.

Merci par avance

Marie
 

vgendron

XLDnaute Barbatruc
Re : Création colonnes en fonction de la valeur d'une celulle en macroVBA

Re ;-)

pour répondre à la question: ci dessous un code pour exemple
Code:
Sub Macro2()
'
' Macro2 Macro
'

'
    'récupère le nombre de colonnes à inserer
    NbColo = [A1]
    
    'insere NbColo colonne à partir de la colonne C (3).. par exemple
    Range(Columns(3), Columns(3 + NbColo)).Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub

par contre, il faudrait que dans tes prochains post, tu mettes un fichier exemple: plus facile pour répondre et identifier ton besoin

et tu peux rester dans le meme post s'il s'agit du meme projet. ca permettra d'avoir l'historique de ton besoin

PS: pour ce code: j'ai simplement utilisé l'enregistreur de macro et adapté légèrment
je te conseille d'essayer. j'ai souvent découvert que la réponse était bien plus simple que ce que je pensais ;-)
 

Lone-wolf

XLDnaute Barbatruc
Re : Création colonnes en fonction de la valeur d'une celulle en macroVBA

Bonjour Marie, vgendron

Un autre exemple

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim NbCol, i As Integer

Application.EnableEvents = False
Application.ScreenUpdating = False
NbCol = Range("a2").value
If Range("a2") <> "" Then
Columns("E:E").Select    'Colonne à partir où celles-ci sont inserées. A modifier
For i = 1 To NbCol
Selection.Insert Shift:=xlToRight
Next i
End If
Application.EnableEvents = True
End Sub



A+
 
Dernière édition:

Paf

XLDnaute Barbatruc
Re : Création colonnes en fonction de la valeur d'une celulle en macroVBA

Bonjour Marie1212, vgendron, Lone-wolf,

une autre solution, à adapter à la réalité du classeur.

Code:
Sub LaMacroquiInseredesColonnes()
 With Worksheets("Feuil2")
 .Range("F1").Resize(, .Range("B3").Value).EntireColumn.Insert Shift:=xlToRight
 End With
End Sub

.Range("F1") = Cellule de la colonne à partir de laquelle insérer
.Range("B3") = Cellule qui contient le Nb de colonnes à rajouter

A+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…