Décalage des colonnes lors de l'ajout d'une nouvelle ligne
Bonjour
Dsl je suis débutant en VBA Excel, et je sollicite votre aide pour que je puisse me débloquer car vraiment malgrés les recherches et les essaies suites aux différentes problématiques posées en ce sens, je savais plus s'en sortir.
Bon mon code est le suivant, alors que le probléme c'est que lors de l'ajout d'une nouvelle ligne, au lieu que la donnée se saisisse au niveau de la colonne D, elle s'enregistre en G par exp,,, et l'autre donnée au lieu de la colonne H, elle se trouve figurer en M.. etc
Priére de me débloquer la situation pour que je puisse avancer, en attente de vos réaction
Merci Beaucoup
Option Explicit
Dim Ws As Worksheet
'Pour le formulaire
Private Sub UserForm2_Initialize()
Dim J As Long
Dim i As Integer
Set Ws = Sheets("Echéancier34") 'Correspond au nom de votre onglet dans le fichier Excel
With Me.TextBox36
For J = 2 To Ws.Range("B" & Rows.Count).End(xlUp).Row + 1
.AddItem Ws.Range("B" & J)
Next J
End With
For i = 1 To 37
Me.Controls("TextBox" & i).Visible = True
Next i
End Sub
'Pour le bouton Nouveau contact
Private Sub CommandButton_enreg_Click()
Dim L As Integer
If MsgBox("Confirmez-vous l'insertion de ce nouveau contact ?", vbYesNo, "Demande de confirmation d'ajout") = vbYes Then
L = Sheets("Echéancier34").Range("B" & Rows.Count).End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide
Range("A" & L).Value = TextBox37
Range("B" & L).Value = TextBox36
Range("W" & L).Value = TextBox1
Range("H" & L).Value = TextBox2
Range("I" & L).Value = TextBox3
Range("J" & L).Value = Textbox4
Range("K" & L).Value = TextBox5
Range("L" & L).Value = TextBox6
Range("M" & L).Value = TextBox7
Range("N" & L).Value = TextBox8
Range("O" & L).Value = TextBox9
Range("P" & L).Value = TextBox10
Range("Q" & L).Value = TextBox11
Range("R" & L).Value = TextBox12
Range("S" & L).Value = TextBox13
Range("T" & L).Value = TextBox14
Range("U" & L).Value = TextBox15
Range("V" & L).Value = TextBox16
Range("W" & L).Value = TextBox17
Range("X" & L).Value = TextBox18
Range("Y" & L).Value = TextBox19
Range("Z" & L).Value = TextBox20
Range("AA" & L).Value = TextBox21
Range("AB" & L).Value = TextBox22
Range("AC" & L).Value = TextBox23
Range("AD" & L).Value = TextBox24
Range("AE" & L).Value = TextBox25
Range("AF" & L).Value = TextBox26
Range("AG" & L).Value = TextBox27
Range("AH" & L).Value = TextBox28
Range("AI" & L).Value = TextBox29
Range("AJ" & L).Value = TextBox30
Range("AK" & L).Value = TextBox31
Range("AL" & L).Value = TextBox32
Range("AM" & L).Value = TextBox33
Range("AN" & L).Value = TextBox34
Range("AO" & L).Value = TextBox35
End If
Dim Mot As String
Dim i As Integer
For i = 1 To 12
If Controls("CheckBox" & i).Value Then Mot = Mot & Controls("CheckBox" & i).Caption & "- "
Next
Range("O" & L).Value = CheckBox1
If CheckBox1.Value = "Vrai" Then
Range("O" & L).Value = "IS"
Else
Range("O" & L).Value = ""
End If
Range("P" & L).Value = CheckBox2
If CheckBox2.Value = "Vrai" Then
Range("P" & L).Value = "TVA"
Else
Range("P" & L).Value = ""
End If
Range("Q" & L).Value = CheckBox3
If CheckBox3.Value = "Vrai" Then
Range("Q" & L).Value = "IR/S"
Else
Range("Q" & L).Value = ""
End If
Range("R" & L).Value = CheckBox4
If CheckBox4.Value = "Vrai" Then
Range("R" & L).Value = "CSS"
Else
Range("R" & L).Value = ""
End If
Range("F" & L).Value = CheckBox5
If CheckBox5.Value = "Vrai" Then
Range("F" & L).Value = "IS"
Else
Range("F" & L).Value = ""
End If
Range("G" & L).Value = CheckBox6
If CheckBox6.Value = "Vrai" Then
Range("G" & L).Value = "TVA"
Else
Range("G" & L).Value = ""
End If
Range("H" & L).Value = CheckBox7
If CheckBox7.Value = "Vrai" Then
Range("H" & L).Value = "IR/S"
Else
Range("H" & L).Value = ""
End If
Range("I" & L).Value = CheckBox8
If CheckBox8.Value = "Vrai" Then
Range("I" & L).Value = "CSS"
Else
Range("I" & L).Value = ""
End If
Range("J" & L).Value = CheckBox9
If CheckBox9.Value = "Vrai" Then
Range("J" & L).Value = "IS"
Else
Range("J" & L).Value = ""
End If
Range("K" & L).Value = CheckBox10
If CheckBox10.Value = "Vrai" Then
Range("K" & L).Value = "TVA"
Else
Range("K" & L).Value = ""
End If
Range("L" & L).Value = CheckBox11
If CheckBox11.Value = "Vrai" Then
Range("L" & L).Value = "IR/S"
Else
Range("L" & L).Value = ""
End If
Range("M" & L).Value = CheckBox12
If CheckBox12.Value = "Vrai" Then
Range("M" & L).Value = "CSS"
Else
Range("M" & L).Value = ""
End If
Range("N" & L).Value = Range("O" & L).Value & " -" & Range("P" & L).Value & " -" & Range("Q" & L).Value & " -" & Range("R" & L).Value
Range("E" & L).Value = Range("F" & L).Value & " -" & Range("G" & L).Value & " -" & Range("H" & L).Value & " -" & Range("I" & L).Value & Range("J" & L).Value & " -" & Range("K" & L).Value & " -" & Range("L" & L).Value & " -" & Range("M" & L).Value
UserForm2.Hide
End Sub
Bonjour,
le fichier est-il si gros pour expliquer son absence en pièce jointe ? A moins que ce ne soit des données confidentielles ?
Sinon dans votre code il y a deux fois :
Range("W" & L).Value = TextBox1 mais pas avec la même textbox, la 1 en premier et la 17 en second...
@ bientôt
LouReeD
hhh yup, oui effectivement pour les deux raisons.
Bon pour pouvoir me comprendre, voila le fichier joint en piéces jointes, et vous pouvez essayer sur le "UserForm2" seulement pour détecter l'erreur.
NB : les doublons et les numéros des textbox détectés sont seulement pour tester, ils n'influencent pas la problématique.
En fait, j'ai constaté que lorsqu'il y a des checkbox ou bouttonOption entre les textbox, ca cause probléme
Merci beaucoup
J'avoue être perdu...
Est-il normale de faire le test "à l'envers" ?
Range("O" & L).Value = CheckBox1
If CheckBox1.Value = "Vrai" Then
Range("O" & L).Value = "IS"
Else
Range("O" & L).Value = ""
End If
Je verrais plutôt :
If CheckBox1.Value = True Then
Range("O" & L).Value = "IS"
Else
Range("O" & L).Value = ""
End If
Et vu que les références sont avec les "D" (par exemple) je ne vois comment la donnée peut aller en "G" si ce n'est qu'il y a une erreur de TextBox...
Votre fichier est bien, mais de là à ne pas avoir d'indications... pas facile de s'y retrouver !
@ bientôt
LouReeD
Ok... Mais j'ai rien fait ... !?
@ bientôt
LouReeD