Décaler colonne

loupti Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -  
loupti Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -
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 :

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

A voir également:

3 réponses

ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   160
 
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

1
loupti Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
Merci ThauTheme, je vais tester cela :)
0
loupti Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
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 ?
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour
à adapter à ton contexte
col est la A° colonne vide
With Sheets(2)
col = IIf(Range("A1") = "", 1, .Rows(1).Find("", .Range("A1")).Column)
End With
.cells(1,col)="zaza"
etc


Michel
0
loupti Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
With feuille2
col = IIf(.Range("A1") = "", 1, .Rows(1).Find("", .Range("A1")).Column)
End with

n'oublie pas le point devant range
0
loupti Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
ah oui mince, je l'avais oublié ...

J'ai un problème quand je teste ce code, j'ai une erreur, ça me met erreur de compilation ... "référence incorrecte ou non qualifiée"
0
loupti Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
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

0
loupti Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 


voici une capture écran de l'erreur
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
tu n'es pas dans un bloc feuille
le point indique l'appatenance à un objet ( with;;;end with

ET TU N'AS BESOIN QUE D'UNE LIGNE COL=IIF...
si je te donne des modifs que tu n'appliques pas, il est inutile qu'on passe du temps à essayer de t'aider...
0
loupti Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
Désolée je n'avais pas compris ...
et j'ai également besoin que d'une seule ligne : . Cells(1, col) = TbSection
Ou comme j'ai fait c'est bon ?
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
abandon...
0
loupti Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
D'accord... Je suis débutante en programmation, désolée.

Merci pour vos conseils ...

Loupti
0