[Résolu] Coup de main / Macro

Pour toutes vos questions à propos d'Excel ...

[Résolu] Coup de main / Macro

Messagepar Syon » 21 Nov 2008, 15:57

Bonjour à tous et à toutes,

Je viens à nouveau solliciter votre aide concernant une petite macro.
Le but étant de copier uniquement les cellules remplies d'une plage ( Recap! C2:C13 ) au sein d'un courrier (courrier! B31:B35 ).

La macro se lance via un bouton situé sur la feuille Recap.
Quelques infos supplémentaires sur le fichier en question.

http://www.excel-pratique.com/~files/do ... _modif.xls

En vous remerciant d'avance,

Cordialement,

//_Syon_\\

Edit : Une macro est déjà rattacher au bouton, mais n'offre pas le résultat voulu.
Dernière édition par Syon le 24 Nov 2008, 23:22, édité 1 fois.
Avatar de l’utilisateur
Syon
Utilisateur occasionnel
 
Messages: 23
Inscription: 26 Oct 2008, 20:51
Version Excel: 2000 FR

Messagepar dubois » 21 Nov 2008, 18:36

Bonsoir,

Pourquoi ne pas continuer sur ton fil précédent ?
même sujet
http://forum.excel-pratique.com/viewtop ... ght=#45833

Que c'est-il passé, tu est revenu en arrière ?
amicalement
Claude.
Faire simple, c'est ce qui est le plus compliqué ! et vice versa (à méditer)
dubois
Passionné d'Excel
 
Messages: 9256
Inscription: 08 Déc 2007, 12:03
Localisation: MEUDON région parisienne
Version Excel: Vista Office 2007FR

Messagepar dubois » 21 Nov 2008, 20:53

Re,

Ton fichier adapté :
http://www.excel-pratique.com/~files/doc/Syon.xls
amicalement
Claude.
Faire simple, c'est ce qui est le plus compliqué ! et vice versa (à méditer)
dubois
Passionné d'Excel
 
Messages: 9256
Inscription: 08 Déc 2007, 12:03
Localisation: MEUDON région parisienne
Version Excel: Vista Office 2007FR

Messagepar Syon » 22 Nov 2008, 13:23

Bonjour Claude,

Effectivement je suis revenu en arrière car on m'a imposé de nouvelles contraintes depuis. Notamment celle de ne pas modifier les libellés des conditions de paiement de la feuille Donnee.
D'où l'utilité des colonnes A & B de la feuille Recap en fait, tu remarqueras que sur le fichier joint de mon premier post, les libellés d'origine de la feuille Donne sont " prct_commande ; prct_ livraison etc " et je me vois mal mettre des abréviations pareilles dans un courrier.

Pour résumé la feuille Recap :
-la colonne A reprend les taux supérieur à 0 de la feuille Donne
-la colonne B lui donne un libellé " plus littéraire" que des abréviations
-la colonne C concatenne A & B

But de la macro : Copier uniquement les cellules remplis de la colonne C de Recap ( donc taux + libellé correctement écrit ) dans le courrier.

En espérant avoir était clair et te remerciant à nouveau,

Cordialement


//_Syon_\\
Avatar de l’utilisateur
Syon
Utilisateur occasionnel
 
Messages: 23
Inscription: 26 Oct 2008, 20:51
Version Excel: 2000 FR

Messagepar dubois » 22 Nov 2008, 13:50

Bonjour,

C'est ce que fait le dernier fichier que je t'ai joint !
les colonnes A et B de la feuille récap ne servent à rien.
si tu préfère "Prtc à %, tu modifie dans "Donnée"
Claude.
Faire simple, c'est ce qui est le plus compliqué ! et vice versa (à méditer)
dubois
Passionné d'Excel
 
Messages: 9256
Inscription: 08 Déc 2007, 12:03
Localisation: MEUDON région parisienne
Version Excel: Vista Office 2007FR

Messagepar Syon » 22 Nov 2008, 14:45

si tu préfère "Prtc à %, tu modifie dans "Donnée"

Justement, c'est la nouvelle contrainte que je cite dans mon précédent post.

Pour faire simple, dit toi que les libellés d'origine sont "prct_commande, prct_livraison etc ..." mais que je veux les remplacés par " % à la commande, % à la livraison etc" au sein de mon courrier.
Et c'est là que les colonnes A et B de Recap sont utiles ! Elle copient les taux supérieur à 0 ( colonne A ), insère le libellé rédigé ( colonne B ), et la colonne C concatenne les deux.

Ta macro est juste, mais avec un petit bémol. La colonne C de Recap se rempli en activant la macro, or celle-ci à la base se remplie toute seule avec les fonctions SI.

La macro n'a pas besoin d'etre liée à Donnee, elle doit juste servir à sélectionner les cellules remplies de la colonne C de Recap ( ex: 20% à la commande ) et les copier dans le courrier, toujours sans saut de lignes.

Merci de ton investissement,

Cordialement

//_Syon_\\
Avatar de l’utilisateur
Syon
Utilisateur occasionnel
 
Messages: 23
Inscription: 26 Oct 2008, 20:51
Version Excel: 2000 FR

Messagepar dubois » 22 Nov 2008, 15:13

bonjour à tous,

Donc la macro n'affecte pas la feuille récap ?
dans ce cas, supprime la ligne :
Code: Tout sélectionner
'Range("Recap!c15").End(xlUp)(2) = k

il restera :
Code: Tout sélectionner
Sub Ajoute1() 'Claude 21 Nov
Dim N As String
Dim k As String
Dim i As Byte
    Sheets("Donnee").Activate
    Application.ScreenUpdating = False
        Range("courrier!b31:b35").ClearContents
        Range("Recap!c2:c15").ClearContents
        If WorksheetFunction.CountA(Range("b34:b45")) = 0 Then Exit Sub

            Range("b34").Activate
        For i = 1 To 12
                If ActiveCell = "" Or ActiveCell = 0 Then
                    ActiveCell.Offset(1, 0).Select
                  Else
                    k = ActiveCell & " " & ActiveCell.Offset(0, -1)
'*** Ligne à supprimer **Range("Recap!c15").End(xlUp)(2) = k
                    Range("courrier!b36").End(xlUp)(2) = k
                    ActiveCell.Offset(1, 0).Select
                End If
        Next i
    Sheets("Recap").Activate
End Sub

remets tes formules
Claude.
Faire simple, c'est ce qui est le plus compliqué ! et vice versa (à méditer)
dubois
Passionné d'Excel
 
Messages: 9256
Inscription: 08 Déc 2007, 12:03
Localisation: MEUDON région parisienne
Version Excel: Vista Office 2007FR

Messagepar Syon » 22 Nov 2008, 15:59

Donc la macro n'affecte pas la feuille récap ?

Non elle ne l'affecte pas, de plus je vois que la feuille Donnee est pris en compte dans ta macro, mais je doute que ce soit necessaire.

Il est vrai que lors de ma première demande, nous l'avions utilisé mais c'est un tout autre cas ici, à vue d'oeil la macro recherché doit à mon avis être plus simple que celle là.

Comme mentionné plus haut, le seul et unique but de la macro est de copier telles quelles sont les cellules remplies de Recap ( C2:C13) au sein du courrier ( B31:B35) sans saut de lignes.Donc à mon avis, nous n'avons pas besoin de la feuille Donnee pour la création de la macro.

Merci encore,

Cordialement

Syon
Avatar de l’utilisateur
Syon
Utilisateur occasionnel
 
Messages: 23
Inscription: 26 Oct 2008, 20:51
Version Excel: 2000 FR

Messagepar dubois » 22 Nov 2008, 16:38

re,
Bon, si tu sais faire, vas-y !
n'oublie pas le petit "Résolu"
Image
à+....Claude.
Faire simple, c'est ce qui est le plus compliqué ! et vice versa (à méditer)
dubois
Passionné d'Excel
 
Messages: 9256
Inscription: 08 Déc 2007, 12:03
Localisation: MEUDON région parisienne
Version Excel: Vista Office 2007FR

Messagepar Syon » 22 Nov 2008, 20:45

Bon, si tu sais faire, vas-y !

Ben non j'en sais rien x) J'arrive tout juste à comprendre les lignes de ta macro donc bon x)
Avatar de l’utilisateur
Syon
Utilisateur occasionnel
 
Messages: 23
Inscription: 26 Oct 2008, 20:51
Version Excel: 2000 FR

Suivante

Retourner vers Excel - VBA

 


  • Sujets similaires
    Réponses
    Vus
    Dernier message

Utilisateurs en ligne

Utilisateurs parcourant ce forum: Bing [Bot], Google [Bot], Google Adsense [Bot] et 18 invités