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)
Merci pour votre aide.
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
Philippe
Partager