Bonjour,

Etant novice en VBA, cela fait un moment que je cherche une solution pour écrire un code de remplissage de cellule qui ne se base pas les colonnes mais sur des noms données aux colonnes.

Je m'explique : Je voudrais remplir différentes cellules d'un tableau à la dernière ligne utilisée a l'aide d'un UserForm, par contre, lorsque j'insère une colonne manuellement dans le fichier. toutes les données importées à l'arrière sont décalées d'une cellule.

J'ai nommé mes différents colonnes dans le tableur (ex : Nom colonne D = Emetteur et nom colonne O = Date_E))



Voici un morceau de mon code actuel. (désolé, je ne sais pas comment insérer un morceau de code dans une liste numérotée)



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
'Correspond au programme du bouton VALIDER
Private Sub CommandButton1_Click()
Dim L As Integer
Dim Commentaire As String
Commentaire = TextBox4.Text
Dim estouvert As Integer
Dim fich As Workbook
 
 
If MsgBox("Etes-vous certain de vouloir INSERER cette Non-Conformité ?", vbYesNo, "Demande de confirmation") = vbYes Then
 
'Verification si "Tbx source" est ouvert sinon l'ouvrir
estouvert = False
For Each fich In Workbooks
If fich.Name = "Tbx source.xlsm" Then estouvert = True
Next
If estouvert = False Then Workbooks.Open ("c:\CHEMIN\Tbx source.xlsm")
 
 
'Insertion des données dans "Tbx source"
L = Workbooks("Tbx source.xlsm").Sheets("tbx source").Range("D65536").End(xlUp).Row + 1 'Permet de se positionner sur la dernière ligne de tableau NON VIDE
Workbooks("Tbx source.xlsm").Sheets("tbx source").Range("D" & L).Value = Label1
Workbooks("Tbx source.xlsm").Sheets("tbx source").Range("O" & L).Value = Label4
 
 
End If
End Sub
Merci pour votre aide.
Philippe