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 :

recuperer le commentaire d'une cellule et la mettre dans une autre cellule comme valeur


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2016
    Messages : 1
    Par défaut recuperer le commentaire d'une cellule et la mettre dans une autre cellule comme valeur
    bonjour a tous! j'aurais vraiment besoin de votre aide
    en effet jai un classeur avec deux feuilles! la première feuille a des cellules avec des commentaires
    j'aimerais par une boucle sur la première feuille remplir avec la seconde feuille.
    seulement pour les texts simple ca marche mais pour les commentaires non!

    Voici le code que je fais

    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
    Public Sub TousPaiements()
    Dim WB1 As Workbook, FL1 As Worksheet, FL2 As Worksheet, FL3 As Worksheet, FL4 As Worksheet, FL5 As Worksheet, FL6 As Worksheet, FL7 As Worksheet, FL8 As Worksheet
    Dim DerLigne As Long, Cmmt As Comment
    Dim I As Integer, J As Integer, Cmpt As Long, DerCellNonVide As String, Add As Integer, Garber As Variant, Cmt As Comment
    Dim Strad As String, Stradd As String, SomTotal As Long, MyTbl As Variant, K As Integer, L As Integer, Derlig As Long
    Set WB1 = Workbooks("Cls_Loyer")
    Set FL1 = WB1.Worksheets("Bdd_Loyer")
    Set FL8 = WB1.Worksheets("Paiements")
     
    DerCellNonVide = Mid(FL1.Cells(2, Columns.Count).End(xlToLeft).Address, 2, 2) ' On recupere l'adresse de la derniere colonne
    Add = Range(DerCellNonVide & ":" & DerCellNonVide).Column 'Numéro de la derniere colonne
     
    FL8.Rows("2:65536").EntireRow.Delete
     
    DerLigne = 2
    Cmpt = 0
    Som = 0
    For I = 3 To 315
           For J = 9 To Add Step 4
                  Select Case FL1.Cells(I, J + 3).Value
                         Case "OUI"
                         FL8.Cells(DerLigne, 1) = FL1.Cells(I, J + 1)
                         FL8.Cells(DerLigne, 2) = FL1.Cells(I, 1)
                         FL8.Cells(DerLigne, 3) = FL1.Cells(I, 3)
                         FL8.Cells(DerLigne, 4) = UCase(MonthName(Month(FL1.Cells(I, J))) & Year(FL1.Cells(I, J)))
                         FL8.Cells(DerLigne, 5) = FL1.Cells(I, 5)
                         FL8.Cells(DerLigne, 6) = FL1.Cells(I, J + 2)
                         Strad = FL1.Cells(I, J).Address(RowAbsolute:=False, ColumnAbsolute:=False)
                         Range(Strad).Activate
                         If Not ActiveCell.Comment Is Nothing Then
                                FL8.Cells(DerLigne, 7) = ActiveCell.Comment.Text
                         Else
                                FL8.Cells(DerLigne, 7) = "ESPECE"
                         End If
                         Stradd = FL1.Cells(I, J + 3).Address(RowAbsolute:=False, ColumnAbsolute:=False)
                         Range(Stradd).Activate
                         If Not ActiveCell.Comment Is Nothing Then
                                FL8.Cells(DerLigne, 8) = ActiveCell.Comment.Text
                         Else
                                FL8.Cells(DerLigne, 8) = "VALIDE"
                         End If
                         FL8.Cells(DerLigne, 9) = I
                         FL8.Cells(DerLigne, 10) = J
                         DerLigne = DerLigne + 1
                         Cmpt = Cmpt + 1
                         Som = Som + FL1.Cells(I, 5)
                  End Select
           Next
    Next
    FL8.Cells(2, 11) = Cmpt
    FL8.Cells(2, 12) = Som
     
    End Sub

    merci pour votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    - Veux-tu bien mettre ton code entre balises code, s'il te plait ? Il est en l'état pénible à lire
    - on ne travaille pas à coups de select, activate etc ..., mais directement sur les objets Excel
    - intéresse-toi vite à ce que tu liras dans la rubrique Range.SpecialCells, méthode de ton aide interne VBA. Elle te permettra de déterminer la plage (un objet range) des cellules dotées d'un commentaire. Travaille ensuite avec cet objet Range.

Discussions similaires

  1. [XL-2010] Trier des valeurs dans une feuille et les mettre dans une autre feuille
    Par maharo1 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 19/12/2011, 15h02
  2. Réponses: 3
    Dernier message: 26/04/2010, 15h42
  3. Réponses: 3
    Dernier message: 13/12/2009, 17h04
  4. recupere le login de la banniere et le mettre dans une table
    Par boubourse92 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/07/2007, 10h24
  5. Réponses: 8
    Dernier message: 08/03/2007, 16h54

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