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 :

recuperation donnees d'une macro [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    retraite
    Inscrit en
    Avril 2010
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Espagne

    Informations professionnelles :
    Activité : retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 325
    Par défaut recuperation donnees d'une macro
    Bonjour
    j'ai des donnees sur une feuille Data de A1 a B500.
    c'est donnees je souhaiterais les recuperees sur une autre feuille ToPrint
    mais en B19, et cela s'affiche toujours en A1, j'ai le code suivant:



    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    Option Explicit
     
    Sub PerpaPrintPDF()
    Dim WsS As Worksheet, WsC As Worksheet
    Dim DerLigS As Long, DerLigC As Long, DerCol As Long, R As Long, C As Long
    Dim LeText As String
     
    Set WsS = Sheets("Data")
    Set WsC = Sheets("ToPrint")
    WsC.Cells.Clear
    DerLigS = WsS.Cells(Columns(1).Cells.Count, 1).End(xlUp).Row
    DerLigC = 0
     
    For R = 1 To DerLigS 'Boucle sur les lignes col. A feuille Data
        DerCol = WsS.Cells(R, Rows(R).Cells.Count).End(xlToLeft).Column
        For C = 2 To DerCol
            DerLigC = DerLigC + 1
            If WsS.Cells(R, C).Comment Is Nothing Then
                LeText = WsS.Cells(R, 1).Value & " - " & WsS.Cells(R, C).Value & " - No Comment"
            Else
                LeText = WsS.Cells(R, 1).Value & "   -   " & WsS.Cells(R, C).Value & "   -   " & WsS.Cells(R, C).Comment.Text
            End If
            WsC.Cells(DerLigC, 1) = LeText
        Next C
    Next R
     
    'Impression des commentaires pdf
     
    Dim mois As String
    Dim année As String
    Dim jour As String
     
    jour = Format(Now, "dd")
    mois = Format(Now, "mmmm")
    année = Format(Now, "yyyy")
    Sheets("ToPrint").Select
        Range("B21").Select
        Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        [B19] = "Nº Mobil Home - Date - et Commentaire"
        With ActiveCell.Characters(Start:=1, Length:=37).Font
            .Size = 12
         End With
    'Range("A21").Select
     
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "c:\A- archives Excel\Commentaires maintenance\" & "Commentaires" & " " & jour & " " & mois & " " & année & " ", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
            :=False, OpenAfterPublish:=True
     
      [B19:L500].Clear
     
    Sheets("Data").Select
    [A1].Select
    End Sub

    cris

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Essaies ceci
    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
    34
    35
    36
    37
    38
    Sub PerpaPrintPDF()
    Dim WsS As Worksheet, WsC As Worksheet
    Dim DerLigS As Long, DerLigC As Long, R As Long
    Dim DerCol As Integer, C As Integer
    Dim LeText As String
     
    Set WsS = Sheets("Data")
    Set WsC = Sheets("ToPrint")
    WsC.UsedRange.Clear
    DerLigS = WsS.Cells(WsS.Rows.Count, 1).End(xlUp).Row
    DerLigC = 19
    For R = 1 To DerLigS                                                 'Boucle sur les lignes col. A feuille Data
        DerCol = WsS.Cells(R, WsS.Columns.Count).End(xlToLeft).Column
        For C = 2 To DerCol
            DerLigC = DerLigC + 1
            If WsS.Cells(R, C).Comment Is Nothing Then
                LeText = WsS.Cells(R, 1).Value & " - " & WsS.Cells(R, C).Value & " - No Comment"
            Else
                LeText = WsS.Cells(R, 1).Value & " - " & WsS.Cells(R, C).Value & " - " & WsS.Cells(R, C).Comment.Text
            End If
            WsC.Cells(DerLigC, 2).Value = LeText
        Next C
    Next R
    Set WsS = Nothing
    'Impression des commentaires pdf
    With WsC
        With .Range("B19")
            .Value = "Nº Mobil Home - Date - et Commentaire"
            .Font.Size = 12
        End With
        .ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:="C:\A- archives Excel\Commentaires maintenance\Commentaires" & _
            Format(Now, "ddmmmmyyyy") & ".pdf", Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
        .UsedRange.Clear
    End With
    Set WsC = Nothing
    End Sub

  3. #3
    Membre éclairé
    Homme Profil pro
    retraite
    Inscrit en
    Avril 2010
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Espagne

    Informations professionnelles :
    Activité : retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 325
    Par défaut
    merci mercatog
    le code fonction tres bien.

    j'ai changer la ligne ci dessous, car je souhaite faire un clear de B19, car au dessus j'ai une mise en page que je souhaite garder.
    un info, stp j'utilise ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sheets("ToPrint").Select
      [B19:L500].Clear
    mais je pense qu'il doit y avoir une facon plus adequat que le select.

    autre question sans abuse.
    dans mon userform je rentre un commentaire,
    est il possible de demander qu'apres x mots il retourne a la ligne?

    merci encore de tous ces renseignements
    cris

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Sans la select
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WsC.Range("B19:L500").Clear 'ou ClearContents

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

Discussions similaires

  1. Seleccioner donnees avec une macro
    Par sergio_gr66 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/06/2009, 09h47
  2. Changement de type de donnees avec une macro
    Par micbett dans le forum Modélisation
    Réponses: 9
    Dernier message: 01/04/2008, 21h26
  3. [SGBD] probleme de recuperation de donnee d'une bdd Mysql
    Par chex dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 13/04/2006, 17h05
  4. [Image]Récupérer données EXIF d'une image
    Par Hikage dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 31/12/2005, 18h37
  5. [VBA-E] [Excel] Lancer une macro à une heure donnée
    Par Lysis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/10/2002, 12h15

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