IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Boucle VBA 2 variables dont une en ligne [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mars 2021
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2021
    Messages : 35
    Points : 8
    Points
    8
    Par défaut Boucle VBA 2 variables dont une en ligne
    Bonjour,

    J'ai un nouveau soucis, je rempli un document Word rempli de signets à remplacer par des valeurs dans excel et là j'ai un tableau Word à remplir avec les données d'excel qui ne sont pas classées dans des colonnes mais sur la même ligne à 7 cellules d'intervalle.

    Du coup j'ai essayé plein de choses notamment :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    Sub Generer_PI_TY()
    Dim NDF As String, NDF2 As String
    Dim ligne As Integer: Dim colonne As Integer
    Dim der_ligne As Integer: Dim der_colonne As Integer
    Dim WordApp As Word.Application
    Dim WordDoc As Word.Document
     
        der_colonne = Cells.SpecialCells(xlCellTypeLastCell).Column
        der_ligne = Cells.SpecialCells(xlCellTypeLastCell).Row
        NDF = ActiveWorkbook.Path & "\Plan d'inspection tuyauterie.docx"
        NDF2 = Sheets("Générer un PI TY").Range("M3").Text & "\" & "D5370PIE" & Sheets("Générer un PI TY").Range("D2").Text & ".doc"
        On Error Resume Next
        Set WordApp = CreateObject("Word.Application")
        Set WordDoc = WordApp.Documents.Open(NDF, ReadOnly:=False)
     
        With WordApp
            .Visible = True
            .Activate
            For I = 1 To 300
            For J = 1 To der_colonne Step 7
            WordApp.ActiveDocument.Bookmarks("TY" & I).Range.Text = Sheets("Générer un PI TY").Range(J + 4 & "20").Value
            Next J
            Next I
     End With
       WordDoc.Application.ActiveDocument.SaveAs NDF2
     
     
        Set WordDoc = Nothing
        Set WordApp = Nothing
     
        ActiveWorkbook.Close SaveChanges:=Nothing
    End Sub
    En gros dans mon tableau Word j'ai des signets TY1, TY2, etc... que je voudrais remplacer par les valeurs E20, L20, S20 (même ligne, toutes les 7 colonnes)
    Je me dit que ça doit quand même être possible…

    Merci d'avance à ceux qui essaieront de régler mon problème

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Gwelawen Voir le message

    Bonjour,

    Et en modifiant comme ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            For I = 1 To 300
                For J = 5 To der_colonne Step 7
                    WordApp.ActiveDocument.Bookmarks("TY" & I).Range.Text = Sheets("Générer un PI TY").Cells(20, J).Value
                Next J
            Next I
    Ou plutôt comme cela ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            j = 5
            For I = 1 To 300
               ' For J = 5 To der_colonne Step 7
                    WordApp.ActiveDocument.Bookmarks("TY" & I).Range.Text = Sheets("Générer un PI TY").Cells(20, j).Value
                    j = j + 7
               ' Next J
            Next I

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mars 2021
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2021
    Messages : 35
    Points : 8
    Points
    8
    Par défaut
    Ça ne me met que la valeur de la cellule E20 répétée dans tous les signets "TY"...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Gwelawen Voir le message

    En gros dans mon tableau Word j'ai des signets TY1, TY2, etc... que je voudrais remplacer par les valeurs E20, L20, S20 (même ligne, toutes les 7 colonnes)
    Comment doit-on interpréter cette phrase ?

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mars 2021
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2021
    Messages : 35
    Points : 8
    Points
    8
    Par défaut
    Désolée je n'avais pas vu le deuxième code, je ne l'ai vu qu'en publiant ma réponse…

    Le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    j = 5
            For I = 1 To 300
               ' For J = 5 To der_colonne Step 7
                    WordApp.ActiveDocument.Bookmarks("TY" & I).Range.Text = Sheets("Générer un PI TY").Cells(20, j).Value
                    j = j + 7
               ' Next J
            Next I
    fonctionne! Merci beaucoup ! Je me sens stupide j'ai pourtant essayé plein de choses qui ressemblaient à ça…

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Gwelawen Voir le message
    Pas grave, on bute souvent sur des problèmes de communication.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2016] Ecrire plusieurs initialisation variable sur une même ligne
    Par retraite83 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 13/06/2018, 16h41
  2. Boucle en VBA avec 2 variables dont une est le numéro de feuille
    Par micapilote dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/10/2011, 23h06
  3. [OpenOffice] [VBA] vba ==> open office : juste une petite ligne à traduire
    Par ickyknox dans le forum OpenOffice & LibreOffice
    Réponses: 1
    Dernier message: 29/03/2008, 00h18
  4. Réponses: 4
    Dernier message: 06/05/2007, 12h57
  5. debutant lecture de plusieur variable sur une meme ligne
    Par Slumpy dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 16/06/2006, 19h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo