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

Merci beaucoup

Ok... Mais j'ai rien fait ... !? )

@ bientôt

LouReeD

Rechercher des sujets similaires à "decalage colonnes lors ajout nouvelle ligne"