Décaler colonne
loupti
Messages postés
30
Statut
Membre
-
loupti Messages postés 30 Statut Membre -
loupti Messages postés 30 Statut Membre -
Bonjour,
Je souhaiterai faire une boucle afin de décaler des informations, entrées sur un userform, d'une colonne à chaque fois qu'une nouvelle liste d'information est communiquée.
Actuellement j'ai le code suivant :
Mais à chaque fois qu'on entre une nouvelle liste d'information, cela écrase les informations déja enregistrées sur ma feuille excel.
j'ai trouvé que pour décaler, il faut utiliser la fonction offset et pour sélectionner une colonne, la fonction Range (A").select ou Colums("A"). Select
Mais ce que j'aimerai c'est que la première liste d'information soit mise en colonne A, la seconde en B ....
Je suis débutante sur la programmation, c'est pourquoi je n'arrive pas à réaliser ce que j'aimerai faire ...
Merci d'avance
Cordialement,
loupti
Je souhaiterai faire une boucle afin de décaler des informations, entrées sur un userform, d'une colonne à chaque fois qu'une nouvelle liste d'information est communiquée.
Actuellement j'ai le code suivant :
Private Sub BuOK_Click()
Dim feuille2 As Worksheet
UsfOrigine3 = Me.Name
'on créé la feuille "Information générales du fichier" si elle n'existe pas déjà
Set feuille2 = Creer_Feuil(xlBook, "Presentation Information")
'on y stocke toutes les infos saisies
xlApp.Visible = True
With feuille2
.[A1] = TbSection
.[A2] = TbSeqNumber
.[A3] = TbRevision
.[A4] = CbRevision
.[A5] = TbDate
.[A6] = TbDescription
.[A7] = TbDrawn
.[A8] = TbChecked
.[A9] = TbApproved
End With
'Enregistrement du classeur "Projet" dans répertoir D:\DATA\c.beguin\Documents
xlBook.SaveAs Filename:=monRep & Nom_Proj, FileFormat:=xlExcel8
Unload Me
End Sub
Mais à chaque fois qu'on entre une nouvelle liste d'information, cela écrase les informations déja enregistrées sur ma feuille excel.
j'ai trouvé que pour décaler, il faut utiliser la fonction offset et pour sélectionner une colonne, la fonction Range (A").select ou Colums("A"). Select
Mais ce que j'aimerai c'est que la première liste d'information soit mise en colonne A, la seconde en B ....
Je suis débutante sur la programmation, c'est pourquoi je n'arrive pas à réaliser ce que j'aimerai faire ...
Merci d'avance
Cordialement,
loupti
3 réponses
-
Bonjour Loupti, bonjour le forum,
Peut-être comme ça :
Private Sub BuOK_Click() Dim feuille2 As Worksheet Dim DEST As Range UsfOrigine3 = Me.Name 'on créé la feuille "Information générales du fichier" si elle n'existe pas déjà Set feuille2 = Creer_Feuil(xlBook, "Presentation Information") 'on y stocke toutes les infos saisies xlApp.Visible = True With feuille2 Set DEST = IIf(.Range("A1").Value = "", .Range("A1"), .Cells(1, Application.Columns.Count).End(xlToLeft).Offset(0, 1)) DEST.Value = TbSection DEST.Offset(1, 0).Value = TbSeqNumber DEST.Offset(2, 0).Value = TbRevision DEST.Offset(3, 0).Value = CbRevision DEST.Offset(4, 0).Value = TbDate DEST.Offset(5, 0).Value = TbDescription DEST.Offset(6, 0).Value = TbDrawn DEST.Offset(7, 0).Value = TbChecked DEST.Offset(8, 0).Value = TbApproved End With 'Enregistrement du classeur "Projet" dans répertoir D:\DATA\c.beguin\Documents xlBook.SaveAs Filename:=monRep & Nom_Proj, FileFormat:=xlExcel8 Unload Me End Sub
-
-
J'ai tété le code que vous m'avez indiqué mais j'ai une erreur d'exécution quand je fais le test au niveau de cette ligne de code :
Set DEST = IIf(.Range("A1").Value = "", .Range("A1"), .Cells(1, Application.Columns.Count).End(xlToLeft).Offset(0, 1))
Ma question est surement bête mais que veux dire erreur définie par l'application ou par l'objet ?
-
-
Bonjour
à adapter à ton contexte
col est la A° colonne videWith Sheets(2)
col = IIf(Range("A1") = "", 1, .Rows(1).Find("", .Range("A1")).Column)
End With
.cells(1,col)="zaza"
etc
Michel-
Merci Michel_m, avec ta proposition de code du coup ça donne quelque chose comme ça ?
Private Sub BuOK_Click() Dim feuille2 As Worksheet Dim col as Integer UsfOrigine3 = Me.Name 'on créé la feuille "Information générales du fichier" si elle n'existe pas déjà Set feuille2 = Creer_Feuil(xlBook, "Presentation Information") 'on y stocke toutes les infos saisies xlApp.Visible = True With feuille2 col = IIf(Range("A1") = "", 1, .Rows(1).Find("", .Range("A1")).Column) col = IIf(Range("A2") = "", 1, .Rows(1).Find("", .Range("A2")).Column) col = IIf(Range("A3") = "", 1, .Rows(1).Find("", .Range("A3")).Column) col = IIf(Range("A4") = "", 1, .Rows(1).Find("", .Range("A4")).Column) col = IIf(Range("A5") = "", 1, .Rows(1).Find("", .Range("A5")).Column) col = IIf(Range("A6") = "", 1, .Rows(1).Find("", .Range("A6")).Column) col = IIf(Range("A7") = "", 1, .Rows(1).Find("", .Range("A7")).Column) col = IIf(Range("A8") = "", 1, .Rows(1).Find("", .Range("A8")).Column) col = IIf(Range("A9") = "", 1, .Rows(1).Find("", .Range("A9")).Column) End With .cells(1,col)=TbSection .cells(2,col)=TbSeqNumber. .cells(3,col)=TbRevision .cells(4,col)=CbRevision .cells(5,col)=TbDate .cells(6,col)=TbDescription .cells(7,col)=TbDrawn .cells(8,col)=TbChecked .cells(1,col)=TbApproved 'Enregistrement du classeur "Projet" dans répertoir D:\DATA\c.beugin\Documents xlBook.SaveAs Filename:=monRep & Nom_Proj, FileFormat:=xlExcel8 Unload Me End Sub -
-
-
Voici le code que j'ai écrit ... J'ai du faire une erreur
Private Sub BuOK_Click() Dim feuille2 As Worksheet Dim col As Integer UsfOrigine3 = Me.Name 'on créé la feuille "Information générales du fichier" si elle n'existe pas déjà Set feuille2 = Creer_Feuil(xlBook, "Presentation Information") 'on y stocke toutes les infos saisies xlApp.Visible = True With feuille2 col = IIf(.Range("A1") = "", 1, .Rows(1).Find("", .Range("A1")).Column) col = IIf(.Range("A2") = "", 1, .Rows(2).Find("", .Range("A2")).Column) col = IIf(.Range("A3") = "", 1, .Rows(3).Find("", .Range("A3")).Column) col = IIf(.Range("A4") = "", 1, .Rows(4).Find("", .Range("A4")).Column) col = IIf(.Range("A5") = "", 1, .Rows(5).Find("", .Range("A5")).Column) col = IIf(.Range("A6") = "", 1, .Rows(6).Find("", .Range("A6")).Column) col = IIf(.Range("A7") = "", 1, .Rows(7).Find("", .Range("A7")).Column) col = IIf(.Range("A8") = "", 1, .Rows(8).Find("", .Range("A8")).Column) col = IIf(.Range("A9") = "", 1, .Rows(9).Find("", .Range("A9")).Column) End With .Cells(1, col) = TbSection .Cells(2, col) = TbSeqNumber .Cells(3, col) = TbRevision .Cells(4, col) = CbRevision .Cells(5, col) = TbDate .Cells(6, col) = TbDescription .Cells(7, col) = TbDrawn .Cells(8, col) = TbChecked .Cells(9, col) = TbApproved 'Enregistrement du classeur "Projet" dans répertoir D:\DATA\c.beugin\Documents xlBook.SaveAs Filename:=monRep & Nom_Proj, FileFormat:=xlExcel8 Unload Me End Sub
-
-
