Besoin d'aide avec Visual Basic

picpic62 Messages postés 3 Date d'inscription mercredi 25 mars 2009 Statut Membre Dernière intervention 29 mars 2009 - 25 mars 2009 à 18:21
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 25 mars 2009 à 18:32
Bonjour,
Je dois réaliser des fiches qui comporte chacunes 6 entrées. Les données à metre dans les 6 champs sont contenues dans un tableau. Chaque ligne du tableau correspond à une fiche que je dois enregistrer. Donc avec Excel et VB, j'ai réalisé une macro (en réalité c'est un forumeur qui a réalisé) qui enregistre le nombre de fiches que je veux avec un numéro associé à chaque fiche. Le problème que j'ai, c'est que je n'arrive pas à incrémenter le numero de la ligne du tableau pour remplir les 6 champs des fiches. Donc pour le moment j'ai les valeurs de la première ligne du tableau dans toutes les fiches. Je voudrais savoir s'il y aurait une bonne ame qui saurais me dire comment incrémenter les valeurs "E2;D2;I2;..." du code qui suit dans la boucle for.

Je vous remercie d'avance, voici le code:

Function numeroter_fichier(fichier As String, numero As Integer) As String
    Dim FSO As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")


    numeroter_fichier = FSO.GetParentFolderName(fichier) & "" & _
                        FSO.GetBaseName(fichier) & "_" & numero & "." & _
                        FSO.GetExtensionName(fichier)
End Function
Public Sub ZolieProc(wb_1 As Workbook)
  Dim num As Integer
  Dim nom As String
  Dim t_wb As Workbook
  Dim s_ws As Worksheet
  Dim t_ws As Worksheet


  Set s_ws = Workbooks("L1RACK_FC_EA.xls").Worksheets("L1RACK_FC_EA")


  For num = 1 To 5
    nom = numeroter_fichier(wb_1.Path & "" & wb_1.Name, num)
    wb_1.SaveCopyAs nom


    Set t_wb = Workbooks.Open(nom)
    Set t_ws = t_wb.Worksheets(1)


    t_ws.Range("B8").Value = s_ws.Range("E2").Value
    t_ws.Range("E8").Value = s_ws.Range("D2").Value
    t_ws.Range("J8").Value = s_ws.Range("I2").Value
    t_ws.Range("C13").Value = s_ws.Range("A2").Value
    t_ws.Range("G13").Value = s_ws.Range("B2").Value
    t_ws.Range("J13").Value = s_ws.Range("C2").Value
    
    t_wb.Save
    t_wb.Close
  Next
End Sub


Public Sub CommandButton1_Click() 'copie sauvegarde classeur
    ZolieProc ActiveWorkbook
End Sub
 

1 réponse

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
25 mars 2009 à 18:32
Salut
Voir l'aide du VBA de Excel à propos de Cell.Offset(Row, Col)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Rejoignez-nous