aide sur importation

om93

XLDnaute Junior
bonjour , pouvez vous m'aider pour une macro d'importations svp ?
merci
 

Pièces jointes

  • Classeur2.zip
    15.6 KB · Affichages: 28
  • Classeur2.zip
    15.6 KB · Affichages: 29
  • Classeur2.zip
    15.6 KB · Affichages: 26

om93

XLDnaute Junior
Re : aide sur importation

revoila le fichier avec dans la feuille PERF , ce que je vaux
merci
 

Pièces jointes

  • Classeur2.zip
    15.7 KB · Affichages: 28
  • Classeur2.zip
    15.7 KB · Affichages: 30
  • Classeur2.zip
    15.7 KB · Affichages: 32
C

Compte Supprimé 979

Guest
Re : aide sur importation

Re,

Voilà, c'est fait, voici le code à tester
Code:
Option Explicit
Sub MaJSaisie()
  Dim iTab As Integer
  Dim Col As Integer, Lig As Long, LigTab As Long
  Dim Sht As Worksheet, DLig As Long  ' Dernière ligne du tableau de chaque feuille
  Dim Hippo As String, Dist As String, Part As String
  Dim MaVal As String, MaPos As String, MonAr As String
  ' Récupérer les valeurs fixes
  Hippo = Range("C3").Value
  Dist = Range("G3").Value
  Part = Range("K3").Value
  ' Pour chaque tableau
  For iTab = 1 To 4
    ' Ligne du tableau n° iTab
    LigTab = 5 * iTab
    ' Pour chaque colonne
    For Col = 2 To 10 Step 2
      ' Définir la feuille
      Set Sht = Sheets(Cells(LigTab, Col).Value)
      ' et chaque ligne
      For Lig = 1 To 3
        ' récupérer ICI les valeurs variables
        MonAr = Range("A" & LigTab + Lig).Value
        MaVal = Cells(LigTab + Lig, Col + 1).Value
        MaPos = Cells(LigTab + Lig, Col).Value
        ' sur cette feuille inscrire les valeurs à la suite
        DLig = Sht.Range("A" & Rows.Count).End(xlUp).Row
        Sht.Range("A" & DLig + 1).Value = Hippo
        Sht.Range("B" & DLig + 1).Value = Dist
        Sht.Range("C" & DLig + 1).Value = Part
        Sht.Range("D" & DLig + 1).Value = MaVal
        Sht.Range("E" & DLig + 1).Value = MaPos
        Sht.Range("F" & DLig + 1).Value = MonAr
      Next Lig
      ' Effacer la variable objet
      Set Sht = Nothing
    Next Col
  Next iTab
  ' tout est importé correctement !?
  ' Pour chaque tableau on efface les données
  For iTab = 1 To 4
    ' Ligne du tableau n° iTab
    LigTab = 5 * iTab
    ' Pour chaque colonne
    For Col = 2 To 10 Step 2
      ' et chaque ligne
      For Lig = 1 To 3
        ' récupérer ICI les valeurs variables
        Cells(LigTab + Lig, Col + 1).ClearContents
        Cells(LigTab + Lig, Col).ClearContents
      Next Lig
    Next Col
  Next iTab
End Sub
Il faut que chaque feuille porte bien le nom d'entête des colonnes en rose

A+
 
Dernière modification par un modérateur:
C

Compte Supprimé 979

Guest
Re : aide sur importation

Salut Om93,

Qu'est-ce qui ne fonctionne pas :confused:

A+

PS : avec mon code je ne crée pas les feuilles, tu dois l'avoir fait !?
 
Dernière modification par un modérateur:
C

Compte Supprimé 979

Guest
Re : aide sur importation

Re,

As-tu toutes tes feuilles de créées ?
Prf2, MH, Vdist, GC , Etc ...

Oups .... Il peut y avoir effectivement une erreur au niveau de G/C qui ne peut être qu'une feuille nommée "GC" sans la barre de fraction

Modification du code
Code:
Sub MaJSaisie()
  Dim iTab As Integer
  Dim Col As Integer, Lig As Long, LigTab As Long
  [COLOR=blue]Dim NomSht As String[/COLOR]
  Dim Sht As Worksheet, DLig As Long  ' Dernière ligne du tableau de chaque feuille
  Dim Hippo As String, Dist As String, Part As String
  Dim MaVal As String, MaPos As String, MonAr As String
  ' Récupérer les valeurs fixes
  Hippo = Range("C3").Value
  Dist = Range("G3").Value
  Part = Range("K3").Value
  ' Pour chaque tableau
  For iTab = 1 To 4
    ' Ligne du tableau n° iTab
    LigTab = 5 * iTab
    ' Pour chaque colonne
    For Col = 2 To 10 Step 2
      ' Définir la feuille
      [COLOR=blue]NomSht = Cells(LigTab, Col).Value[/COLOR]
[COLOR=blue]    NomSht = Replace(NomSht, "/", "")[/COLOR]
[COLOR=blue]    Set Sht = Sheets(NomSht)[/COLOR]
      ' et chaque ligne
      For Lig = 1 To 3
        ' récupérer ICI les valeurs variables
        MonAr = Range("A" & LigTab + Lig).Value
        MaVal = Cells(LigTab + Lig, Col + 1).Value
        MaPos = Cells(LigTab + Lig, Col).Value
        ' sur cette feuille inscrire les valeurs à la suite
        DLig = Sht.Range("A" & Rows.Count).End(xlUp).Row
        Sht.Range("A" & DLig + 1).Value = Hippo
        Sht.Range("B" & DLig + 1).Value = Dist
        Sht.Range("C" & DLig + 1).Value = Part
        Sht.Range("D" & DLig + 1).Value = MaVal
        Sht.Range("E" & DLig + 1).Value = MaPos
        Sht.Range("F" & DLig + 1).Value = MonAr
      Next Lig
      Set Sht = Nothing
    Next Col
  Next iTab
  ' tout est importé correctement !?
  ' Pour chaque tableau on efface les données
  For iTab = 1 To 4
    ' Ligne du tableau n° iTab
    LigTab = 5 * iTab
    ' Pour chaque colonne
    For Col = 2 To 10 Step 2
      ' et chaque ligne
      For Lig = 1 To 3
        ' récupérer ICI les valeurs variables
        Cells(LigTab + Lig, Col + 1).ClearContents
        Cells(LigTab + Lig, Col).ClearContents
      Next Lig
    Next Col
  Next iTab
End Sub

Essaye ça ;)

Sinon, mets nous ton dernier fichier modifié avec les feuilles

A+
 
Dernière modification par un modérateur:

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 938
Membres
103 988
dernier inscrit
Feonix