Procédure

  • Initiateur de la discussion Ouin-Ouin
  • Date de début
O

Ouin-Ouin

Guest
Bonjour le forum,
Partie II de mon application... c'est parti
je cherche de l'aide pour savoir comment faire pour que la procédure ci-dessous soit aussi valable pour que je puisse mettre les données dans la Feuil6 du même classeur tout en gardant la procédure ci-dessous que j'ai aussi besoin.
ceci va me servir avec un tableau récapitulatif à un moment donné dans l'année avec la fonction Filtre données par la suite.
merci de votre aide
@+ Ouin-Ouin


Private Sub CommandButton1_Click()


Dim WB As String, WS As String, WR As String
Dim TheNum As Double

With Sheets("Document")
.Activate
.Copy
End With

With ActiveWorkbook.ActiveSheet
.Range("B41") = ComboBox1
.Range("B42") = TextBox3
.Range("B43") = TextBox5
.Range("B46") = TextBox8
.Range("B35") = TextBox9
.Range("C35") = TextBox10
.Range("D35") = TextBox11
.Range("E35") = TextBox12
.Range("B38") = TextBox2
.Range("D23") = Label1
.Range("E23") = Label2
 
O

Ouin-Ouin

Guest
Bonjour le Forum et excellent week-end à tous qui s'annonce très chaud et très Exliens

Bon j'ai changé ma procédure et je pense intégrer celle là


If TextBox16 = "" Then Exit Sub
Ligne = Feuil("AnnexeII").Range("A65536").End(xlUp).Row + 1
Sheets("AnnexeII").Range("B" & Ligne) = TextBox16

AnnexeII.Range("B" & CStr(Ligne)) = TextBox16
AnnexeII.Range("C" & CStr(Ligne)) = TextBox15
AnnexeII.Range("D" & CStr(Ligne)) = TextBox2
AnnexeII.Range("E" & CStr(Ligne)) = TextBox9
AnnexeII.Range("F" & CStr(Ligne)) = ComBox1
AnnexeII.Range("G" & CStr(Ligne)) = TextBox3
AnnexeII.Range("H" & CStr(Ligne)) = TextBox8
AnnexeII.Range("I" & CStr(Ligne)) = TextBox5
AnnexeII.Range("J" & CStr(Ligne)) = TextBox13
AnnexeII.Range("k" & CStr(Ligne)) = Label2
AnnexeII.Range("N" & CStr(Ligne)) = Label1

seulement je reçoit un gentil message de VBA me disant:
Sub ou Fonction non définie

@+Ouin-Ouin
 
O

Ouin-Ouin

Guest
Hello tout le monde,
Voilà j'ai remis ma procédure avec la correction de Didier_mdf que je remerci au passage En résumé tout fonctionnait ( fonctionne bien ) jusqu'au début de la procédure: If TextBox16 = "" Then Exit Sub en bas de cette page. Cela va en Colonne B parce que en colonne A je dois mettre un N° automatique pour chaque enregistrement arrivant de ma procédure
Merci beaucoup @+
Ouin-Ouin


Private Sub CommandButton1_Click()
Dim WB As String, WS As String, WR As String
Dim TheNum As Double

With Sheets("Document")
.Activate
.Copy
End With

With ActiveWorkbook.ActiveSheet
.Range("B41") = ComboBox1
.Range("B42") = TextBox3
.Range("B43") = TextBox5
.Range("B46") = TextBox8
.Range("B35") = TextBox9
.Range("C35") = TextBox10
.Range("D35") = TextBox11
.Range("E35") = TextBox12
.Range("B38") = TextBox2
.Range("D23") = Label1
.Range("E23") = Label2
.Range("B55") = TextBox1
.Range("C8") = TextBox17
.Range("C9") = TextBox16
.Range("D9") = TextBox15

If Not IsNumeric(TextBox13) Then Exit Sub

TheNum = TextBox13.Value

With .Range("C23")
.Value = TheNum
.NumberFormat = "#,###,##0.000"
End With

If Not IsNumeric(Label1) Then Exit Sub

TheNum = Label1.Caption

With .Range("D23")
.Value = TheNum
.NumberFormat = "#,###,##0.000"
End With


If Not IsNumeric(Label2) Then Exit Sub

TheNum = Label2.Caption


With .Range("E23")
.Value = TheNum
.NumberFormat = "#,###,##0.000"
End With
End With

Application.Dialogs(xlDialogSaveAs).Show "Document.xls"

----------------------------------------------->>>>> depuis ici j'ai le problème et là je dois encore mettre la procédure que en Colonne A j'ai un N° automatique pour chaque enregistrement ---------------->>>>>



If TextBox16 = "" Then Exit Sub
Ligne = Sheets("AnnexeII").Range("A65536").End(xlUp).Row + 1
Sheets("AnnexeII").Range("B" & Ligne) = TextBox16

AnnexeII.Range("B" & CStr(Ligne)) = TextBox16
AnnexeII.Range("C" & CStr(Ligne)) = TextBox15
AnnexeII.Range("D" & CStr(Ligne)) = TextBox2
AnnexeII.Range("E" & CStr(Ligne)) = TextBox9
AnnexeII.Range("F" & CStr(Ligne)) = ComBox1
AnnexeII.Range("G" & CStr(Ligne)) = TextBox3
AnnexeII.Range("H" & CStr(Ligne)) = TextBox8
AnnexeII.Range("I" & CStr(Ligne)) = TextBox5
AnnexeII.Range("J" & CStr(Ligne)) = TextBox13
AnnexeII.Range("k" & CStr(Ligne)) = Label2
AnnexeII.Range("N" & CStr(Ligne)) = Label1
 
@

@+Thierry

Guest
Bonjour Ouin_Ouin, le Forum

Ce que Ouin_Ouin à oublier de dire c'est que nous avons travaillé très tard en Chat et ne comprenant plus rien je lui ai demandé son fichier... Voici la version Revue et Corrigée du Code ci-dessus :

Private Sub CommandButton1_Click()
Dim WB As String, WS As String, WR As String
Dim TheNum As Double
Dim Ligne As Integer
Dim TheBaseBook As Workbook 'DECLARATION DE VARIABLE OBJET WORKBOOK

Set TheBaseBook = ThisWorkbook '<<<<<<<<<< JE DEFINIS LE WORKBOOK DE BASE

With Sheets("Document") '<<<< ICI il est créé un nouveau WorkBook avec "Copie"
.Activate
.Copy
End With

With ActiveWorkbook.ActiveSheet
.Range("B41") = ComboBox1
.Range("B42") = TextBox3
.Range("B43") = TextBox5
.Range("B46") = TextBox8
.Range("B35") = TextBox9
.Range("C35") = TextBox10
.Range("D35") = TextBox11
.Range("E35") = TextBox12
.Range("B38") = TextBox2
.Range("D23") = Label1
.Range("E23") = Label2
.Range("B55") = TextBox1
.Range("C8") = TextBox17
.Range("C9") = TextBox16
.Range("D9") = TextBox15

If Not IsNumeric(TextBox13) Then Exit Sub

TheNum = TextBox13.Value

With .Range("C23")
.Value = TheNum
.NumberFormat = "#,###,##0.000"
End With

If Not IsNumeric(Label1) Then Exit Sub

TheNum = Label1.Caption

With .Range("D23")
.Value = TheNum
.NumberFormat = "#,###,##0.000"
End With


If Not IsNumeric(Label2) Then Exit Sub

TheNum = Label2.Caption


With .Range("E23")
.Value = TheNum
.NumberFormat = "#,###,##0.000"
End With
End With
Application.Dialogs(xlDialogSaveAs).Show "Document.xls"

With TheBaseBook.Sheets("AnnexeII") 'vu qu'on a deux classeurs à ce moment là...
Ligne = .Range("A65536").End(xlUp).Row + 1

.Range("B" & CStr(Ligne)) = TextBox16
.Range("C" & CStr(Ligne)) = TextBox15
.Range("D" & CStr(Ligne)) = TextBox2
.Range("E" & CStr(Ligne)) = TextBox9
.Range("F" & CStr(Ligne)) = ComboBox1
.Range("G" & CStr(Ligne)) = TextBox3
.Range("H" & CStr(Ligne)) = TextBox8
.Range("I" & CStr(Ligne)) = TextBox5
.Range("J" & CStr(Ligne)) = TextBox13
.Range("k" & CStr(Ligne)) = Label2
.Range("N" & CStr(Ligne)) = Label1
End With
End Sub

Bon Dimanche
@+Thierry
 
O

Ouin-Ouin

Guest
Bonsoir Thierry,

Sorry pour l'oubli...
J'ai encore une petite faille à savoir:

Les valeurs passent bien dans la feuille "AnnexeII" mais à chaque nouveau enregistrement cela va toujours sur la même ligne et par conséquent me remplacer l'enregistrement existant en lieu et place d'en créer un nouveau.

J'ai lancé un nouveau fil ( je sais pas si j'ai bien fait ) mais en lisant la Charte c'est ce que j'ai cru comprendre... pour cette même procédure mais pour le formatage de la colonne en effet: il me faut encore que le chiffre soit au format DT c'est à dire:
NumberFormat = "#,###,##0.000"

j'ai trouvé une partie avec le code:

If Not IsNumeric(TextBox13) Then Exit Sub
'
' TheNum = TextBox13.Value
'
' With .Range("J3:J65536")
' .Value = TheNum
' .NumberFormat = "#,###,##0.000"
' End With
seulement là il me recopie la valeur dans toute la colonne jusqu'à la fin idem avec :

If Not IsNumeric(TextBox13) Then Exit Sub
'
' TheNum = TextBox13.Value
'
' With .Range("J:J")
' .Value = TheNum
' .NumberFormat = "#,###,##0.000"
' End With

merci et @plus
Ouin-Ouin
 
O

Ouin-Ouin

Guest
bon avec l'aide de thierry il suffisait de changer
Ligne = .Range("A65536").End(xlUp).Row + 1
par
Ligne = .Range("B65536").End(xlUp).Row + 1
étant donné que la colonne A était vide

quand au format là je n'y suis pas encore...
@+
Ouin-Ouin
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal