Coller dans la derniere cellue vide excel
Résolu
mister-t
-
Mike-31 Messages postés 18405 Date d'inscription Statut Contributeur Dernière intervention -
Mike-31 Messages postés 18405 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai un probleme que je n'arrive pas a resoudre
Je colle des valeurs issues de combobox et de textbox dans des les dernière cellules vides des colonnes A, B, C, D, E, F, G, H, I, J, K et L
le programme s'execute bien mais les valeurs qui doivent se coller en dernièe cellule pour les colonnes B et C ne se fait pas au bonne endroit contrairement aux autre colonnes ou le collage en dernière cellule est respecté.
Je précise que les colonnes de A a L sont identiques
Prog
Sub copienouvelledistance()
Dim annee As String
Dim wbk1 As Workbook
Set wbk1 = ThisWorkbook
annee = UserForm1.TextBox7.Value
mois = UserForm1.TextBox6.Value
If UserForm1.TextBox6.Value = "01" Then
ColonneA = "A"
With Sheets(annee)
DerLig = .Range(ColonneA & "65536").End(xlUp).Row + 1
Range(ColonneA & DerLig) = UserForm1.TextBox1.Value
End With
ColonneB = "B"
With Sheets(annee)
DerLig = .Range(ColonneB & "65536").End(xlUp).Row + 1
Range(ColonneB & DerLig) = UserForm1.TextBox6.Text
End With
ColonneC = "C"
With Sheets(annee)
DerLig = .Range(ColonneC & "65536").End(xlUp).Row + 1
Range(ColonneC & DerLig) = UserForm1.TextBox7.Value
End With
ColonneD = "D"
With Sheets(annee)
DerLig = .Range(ColonneD & "65536").End(xlUp).Row + 1
Range(ColonneD & DerLig) = UserForm1.ComboBox1.Value
End With
ColonneE = "E"
With Sheets(annee)
DerLig = .Range(ColonneE & "65536").End(xlUp).Row + 1
Range(ColonneE & DerLig) = UserForm1.ComboBox2.Value
End With
ColonneF = "F"
With Sheets(annee)
DerLig = .Range(ColonneF & "65536").End(xlUp).Row + 1
Range(ColonneF & DerLig) = UserForm1.TextBox2.Value
End With
ColonneG = "G"
With Sheets(annee)
DerLig = .Range(ColonneG & "65536").End(xlUp).Row + 1
Range(ColonneG & DerLig) = UserForm1.ComboBox3.Value
End With
ColonneH = "H"
With Sheets(annee)
DerLig = .Range(ColonneH & "65536").End(xlUp).Row + 1
Range(ColonneH & DerLig) = UserForm1.ComboBox4.Value
End With
ColonneI = "I"
With Sheets(annee)
DerLig = .Range(ColonneI & "65536").End(xlUp).Row + 1
Range(ColonneI & DerLig) = UserForm1.TextBox3.Value
End With
ColonneJ = "J"
With Sheets(annee)
DerLig = .Range(ColonneJ & "65536").End(xlUp).Row + 1
Range(ColonneJ & DerLig) = UserForm1.TextBox4.Value
End With
ColonneK = "K"
With Sheets(annee)
DerLig = .Range(ColonneK & "65536").End(xlUp).Row + 1
Range(ColonneK & DerLig) = UserForm1.ComboBox5.Value
End With
ColonneL = "L"
With Sheets(annee)
DerLig = .Range(ColonneL & "65536").End(xlUp).Row + 1
Range(ColonneL & DerLig) = UserForm1.TextBox5.Value
End With
end if
UserForm1.Hide
end sub
merci pour les réponses a venir
Application.DisplayAlerts = False
wbk1.Save
Application.DisplayAlerts = True
wbk1.Sheets("Interface").Select
MsgBox ("les données ont bien été enregistrées au mois de Janvier")
j'ai un probleme que je n'arrive pas a resoudre
Je colle des valeurs issues de combobox et de textbox dans des les dernière cellules vides des colonnes A, B, C, D, E, F, G, H, I, J, K et L
le programme s'execute bien mais les valeurs qui doivent se coller en dernièe cellule pour les colonnes B et C ne se fait pas au bonne endroit contrairement aux autre colonnes ou le collage en dernière cellule est respecté.
Je précise que les colonnes de A a L sont identiques
Prog
Sub copienouvelledistance()
Dim annee As String
Dim wbk1 As Workbook
Set wbk1 = ThisWorkbook
annee = UserForm1.TextBox7.Value
mois = UserForm1.TextBox6.Value
If UserForm1.TextBox6.Value = "01" Then
ColonneA = "A"
With Sheets(annee)
DerLig = .Range(ColonneA & "65536").End(xlUp).Row + 1
Range(ColonneA & DerLig) = UserForm1.TextBox1.Value
End With
ColonneB = "B"
With Sheets(annee)
DerLig = .Range(ColonneB & "65536").End(xlUp).Row + 1
Range(ColonneB & DerLig) = UserForm1.TextBox6.Text
End With
ColonneC = "C"
With Sheets(annee)
DerLig = .Range(ColonneC & "65536").End(xlUp).Row + 1
Range(ColonneC & DerLig) = UserForm1.TextBox7.Value
End With
ColonneD = "D"
With Sheets(annee)
DerLig = .Range(ColonneD & "65536").End(xlUp).Row + 1
Range(ColonneD & DerLig) = UserForm1.ComboBox1.Value
End With
ColonneE = "E"
With Sheets(annee)
DerLig = .Range(ColonneE & "65536").End(xlUp).Row + 1
Range(ColonneE & DerLig) = UserForm1.ComboBox2.Value
End With
ColonneF = "F"
With Sheets(annee)
DerLig = .Range(ColonneF & "65536").End(xlUp).Row + 1
Range(ColonneF & DerLig) = UserForm1.TextBox2.Value
End With
ColonneG = "G"
With Sheets(annee)
DerLig = .Range(ColonneG & "65536").End(xlUp).Row + 1
Range(ColonneG & DerLig) = UserForm1.ComboBox3.Value
End With
ColonneH = "H"
With Sheets(annee)
DerLig = .Range(ColonneH & "65536").End(xlUp).Row + 1
Range(ColonneH & DerLig) = UserForm1.ComboBox4.Value
End With
ColonneI = "I"
With Sheets(annee)
DerLig = .Range(ColonneI & "65536").End(xlUp).Row + 1
Range(ColonneI & DerLig) = UserForm1.TextBox3.Value
End With
ColonneJ = "J"
With Sheets(annee)
DerLig = .Range(ColonneJ & "65536").End(xlUp).Row + 1
Range(ColonneJ & DerLig) = UserForm1.TextBox4.Value
End With
ColonneK = "K"
With Sheets(annee)
DerLig = .Range(ColonneK & "65536").End(xlUp).Row + 1
Range(ColonneK & DerLig) = UserForm1.ComboBox5.Value
End With
ColonneL = "L"
With Sheets(annee)
DerLig = .Range(ColonneL & "65536").End(xlUp).Row + 1
Range(ColonneL & DerLig) = UserForm1.TextBox5.Value
End With
end if
UserForm1.Hide
end sub
merci pour les réponses a venir
Application.DisplayAlerts = False
wbk1.Save
Application.DisplayAlerts = True
wbk1.Sheets("Interface").Select
MsgBox ("les données ont bien été enregistrées au mois de Janvier")
A voir également:
- Coller dans la derniere cellue vide excel
- Liste déroulante excel - Guide
- Supprimer dernière page word - Guide
- Word et excel gratuit - Guide
- Comment calculer la moyenne sur excel - Guide
- Dernière version chrome - Accueil - Applications & Logiciels
6 réponses
Salut,
Je pense qu'il y a plus simple, si ton fichier ne contient pas de données confidentielles mets un eemple sur le forum avec ce lien et des anotations de ce que tu souhaites faire
https://www.cjoint.com/
A+
Je pense qu'il y a plus simple, si ton fichier ne contient pas de données confidentielles mets un eemple sur le forum avec ce lien et des anotations de ce que tu souhaites faire
https://www.cjoint.com/
A+
je ne peux malheureusement pas mettre mon fichier sur le forum
je vais essayer d'etre plus clair en commentant mon prog
en fait depuis une userform1 qui contient des textbox et des combobox, je copie les valeurs de ces derniers et les colles dans des colonnes dans la dernière cellule vide
donc si je prends un exemple
textbox1 dans A19
textbox6 dans B19
textbox7 dans C19
...
A la fin toutes les valeurs sont collés a la dernière cellule vide de chaque colonne ce qui devrait donner des informations sur une meme ligne
malheureusement la textbox6 ne se colle pas en B19 comme elle le devrait mais en B2
la textbox7 fait la meme chose et se colle en C2
alors que le programme et identique pour chaque colonne
je vais essayer d'etre plus clair en commentant mon prog
en fait depuis une userform1 qui contient des textbox et des combobox, je copie les valeurs de ces derniers et les colles dans des colonnes dans la dernière cellule vide
donc si je prends un exemple
textbox1 dans A19
textbox6 dans B19
textbox7 dans C19
...
A la fin toutes les valeurs sont collés a la dernière cellule vide de chaque colonne ce qui devrait donner des informations sur une meme ligne
malheureusement la textbox6 ne se colle pas en B19 comme elle le devrait mais en B2
la textbox7 fait la meme chose et se colle en C2
alors que le programme et identique pour chaque colonne
Salut,
en début de procédure mets cette variable
Dim Derlig As Long
Ensuite adapte ce bout de code pour chaque texbox
Derlig = Range("A65536").End(xlUp).Select
ActiveCell.Offset(1, 0) = UserForm1.TextBox1.Value
Ton code doit resemblé à ça, pas la peine de déclarer à chaque bout de code le nom de ta feuille si tout se passe sur la même
Dim Derlig As Long
Derlig = Range("A65536").End(xlUp).Select
ActiveCell.Offset(1, 0) = UserForm1.TextBox1.Value
Derlig = Range("B65536").End(xlUp).Select
ActiveCell.Offset(1, 0) = UserForm1.TextBox6.Value
A+
en début de procédure mets cette variable
Dim Derlig As Long
Ensuite adapte ce bout de code pour chaque texbox
Derlig = Range("A65536").End(xlUp).Select
ActiveCell.Offset(1, 0) = UserForm1.TextBox1.Value
Ton code doit resemblé à ça, pas la peine de déclarer à chaque bout de code le nom de ta feuille si tout se passe sur la même
Dim Derlig As Long
Derlig = Range("A65536").End(xlUp).Select
ActiveCell.Offset(1, 0) = UserForm1.TextBox1.Value
Derlig = Range("B65536").End(xlUp).Select
ActiveCell.Offset(1, 0) = UserForm1.TextBox6.Value
A+
Merci pour cette réponse,
je viens de tester ton prog et il s'execute bien mais la copie ne se fait toujours pas au bonne endroit pour les colonness B et C
Je viens de voir que se sont les textbox6 et textbox7 qui se collent au mauvais endroit (toujours en B2 et C2)
La textbox6 est définie comme une variable que j'ai appelé mois
La textbox7 est définie comme une variable que j'ai appelé annee
je me sert de la textbox
est ce que ça peut venir de ça ?
je viens de tester ton prog et il s'execute bien mais la copie ne se fait toujours pas au bonne endroit pour les colonness B et C
Je viens de voir que se sont les textbox6 et textbox7 qui se collent au mauvais endroit (toujours en B2 et C2)
La textbox6 est définie comme une variable que j'ai appelé mois
La textbox7 est définie comme une variable que j'ai appelé annee
je me sert de la textbox
est ce que ça peut venir de ça ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut,
Tes colonne B et C sont elles bien vide, sans formules, cellules jumelées ou espace que tu ne vois pas.
Mets ces deux colonnes en surbrillance et efface tout pour voir. Il n'est pas normal que le problème intervienne uniquement sur ces deux colonnes alors que sur les autres aucun problème
A+
Tes colonne B et C sont elles bien vide, sans formules, cellules jumelées ou espace que tu ne vois pas.
Mets ces deux colonnes en surbrillance et efface tout pour voir. Il n'est pas normal que le problème intervienne uniquement sur ces deux colonnes alors que sur les autres aucun problème
A+