aide sur importation

  • Initiateur de la discussion Initiateur de la discussion om93
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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:
Re : aide sur importation

Salut Om93,

Qu'est-ce qui ne fonctionne pas 😕

A+

PS : avec mon code je ne crée pas les feuilles, tu dois l'avoir fait !?
 
Dernière modification par un modérateur:
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
509
Réponses
4
Affichages
179
  • Question Question
Microsoft 365 Graphique à bulles
Réponses
2
Affichages
208
Réponses
20
Affichages
632
Réponses
7
Affichages
220
  • Question Question
XL 2021 planning
Réponses
5
Affichages
439
Réponses
7
Affichages
202
  • Question Question
Microsoft 365 index
Réponses
8
Affichages
306
Retour