Bonjour,

Je suis un débutant sur le langage VBA.

je suis entrain de créer en macro VBA un formulaire qui permettra à un utilisateur de saisir les données et après click sur le bouton Validate , d'importer ces données saisies dans le fichier excel précisément dans l'onglet " DATA SOURCE ".

Quand j'exécute mon code ça me génère un bug : Erreur défini par l'application ou par l'objet

Et la ligne qui est indexée comme ligne d'erreur est : Range("A:A").End(xlDown).Offset(1, 0) = TextBox1.Value ' collonne A

en ma connaissance la syntaxe de cette ligne me semble être clean et correcte.

S'il vous plait est ce que quelqu'un dans ce forum a t'il rencontré un tel problème et si oui comment avez vous procédé pour résoudre ce bug ?

ci-desous le code et ci-joint le fichier:


Option Explicit ' déclaration explicite des variables dans toutes les procédures de ce module
Dim ws As Worksheet ' ws sera utilisé dans l'ensemble des procédures

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
' Cette procédure permet de fermer le formulaire

Private Sub CommandButton4_Click()
  
  Unload Me ' femeture user forme après click sur le boutton Close du formulaire
  
End Sub



Private Sub UserForm_Initialize()
 
 Set ws = Sheets("DATA SOURCE")
 Dim ligne  As Integer 'ligne
 Dim col As Integer 'colonne
  
  ' dès le lancement du formulaire chargement de la barre de défilement
 
 
 ComboBox2.AddItem "Socar Trading SA"
 ComboBox2.AddItem "Stasco"
 ComboBox2.AddItem "ING Bank NV"
 ComboBox2.AddItem "Macquarie Bank Limited"
 ComboBox2.AddItem "Mitsui Bussan Commodities Ltd."
 ComboBox2.AddItem "RWE Supply and Trading GmbH"
 ComboBox2.AddItem "Totsa"
 ComboBox2.AddItem "Britannic Trading Limited"
 ComboBox2.AddItem "Goldman Sachs International"
 ComboBox2.AddItem "EDF Trading  Ltd"
 
End Sub

' ***************************************************
  ' Cette procédure permet de charger               *
  'les données saisies par l'utilisateur  dans      *
  ' l'onglet DATA SOURCE du fichier excel           *
  '  après click sur la commande validate           *
  '**************************************************

Private Sub CommandButton3_Click()
  
   Dim i As Integer
   Dim ligne As Integer
   Dim ws As Worksheet
   Set ws = Sheets("DATA SOURCE")
    
     ws.Activate ' activation de la feuille de l'onglet DATA SOURCE
  
   ' Importation de données saisie dans la collonne A
   
    If IsNumeric(TextBox1.Value) = True Then
    
      Range("A:A").End(xlDown).Offset(1, 0) = TextBox1.Value    ' saisie des valeurs dans la collonne A
    End If
     
     ' Importation de données saisies dans la collonne B
     
    If IsNumeric(TextBox2.Value) = True Then
    
      Range("B:B").End(xlDown).Offset(1, 0) = TextBox2.Value    'saisie des valeurs dans la collonne B
    End If
    
    ' Importation de données choisie depuis la liste déroulante (Counter Party)  dans la collonne C
    
    If IsNumeric(ComboBox2.Value) = False Then
      Range("C:C").End(xlDown).Offset(1, 0) = ComboBox2.Value
    End If
    
  end sub
Y'a 3 boutons dans le formulaire : Modifier, Validate et Close .Projet_Masque_Saisie.xlsmProjet_Masque_Saisie.xlsm

Pour l'instant suis sur un seul bouton qui est le bouton VALIDATE et les autres boutons pour l'instant ne fonctionnent pas.

Je vous remercie d'avance pour votre aide.