Recheche prog. VBA complémentaire.

Asperule

XLDnaute Nouveau
Bonjour à tous!

Suite à une discussion créer précédement, je recheche à compléter une programmation VBA.

J'ai un fichier Excel composé de trois feuilles:
-"Client" (où est répertorié différents nom de clients)
-"Commande" (où est saisie la comande)
-"Archive" (où sont décliné les commandes de chaque client respectif)

Il ya une programation VBA me permettant de transferer les données saisie de la feuille "Commande" sur les Feuilles "Archive" endessous de chaque client respectif, et d'afficher l'heure et la date à laquelle le transfert à été effectué.
Celle-ci est affectée sur le bouton situé sur la feuille "Commande".


Problématique:

Je recherche un complément de programation VBA me permettant qu'à chaque fois que je transfert une ligne supplémentaire, l'alignement et la trame se transforme pour poursuivre la présentation de base.

La deuxième tache consiste à ce que une fois la page complété,
le transfert s'éffetcue en complétant la deuxième page mais en passant outre la présentation de celle-ci ou en incluant une nouvelle présentation pour introduire la page.

Est ce que cela est possible?

Je vous remercie d'avance...
Salutation,
Asperule.
 

Pièces jointes

  • Asperule-1.1.xls.zip
    18.5 KB · Affichages: 29
  • Asperule-1.1.xls.zip
    18.5 KB · Affichages: 31
  • Asperule-1.1.xls.zip
    18.5 KB · Affichages: 29

bertgrav

XLDnaute Occasionnel
Re : Recheche prog. VBA complémentaire.

bonjour,

j'ai bien étudié ton code et je n'avais pas vu plusieurs choses.....

je n'avais pas vu que ton tableau continué sur la droite avec encore d'autres noms.
je n'avais pas vu non plus la liste déroulante.....bref j'avais pas vu grand chose

par contre ce matin étant beaucoup plus réveillé j'ai pris vu qu'il fallait travaillé en insérant dans ton code des données supplémentaire pour la mise en forme et les couleurs.....il fallait se servir de ton code qui lui donnait déjà les emplacement où il fallait mettre les valeur, autant mettre la couleur et les bordures en même temps, non ?

C'est ce qui a été fait, à toi à prendre le bout qui t'interresse sur le code tytttttt (t'aurais pu trouver plus simple) et le coller dans le code du bouton de commande sous les données....


amicalement

chantal
 

Pièces jointes

  • Asperule-1.2.zip
    22.9 KB · Affichages: 21
  • Asperule-1.2.zip
    22.9 KB · Affichages: 18
  • Asperule-1.2.zip
    22.9 KB · Affichages: 16

Pierrot93

XLDnaute Barbatruc
Re : Recheche prog. VBA complémentaire.

Re Chantal Asperul,

J'ai encore allégé un peu le code en déplacant un "with", ce qui permet d'en supprimer un autre, et j'ai placé un select sur la cellule A1 pour supprimer cette ligne qui était sélectionnée.

Oui effectivement Chantal, la feuille archive est créée bizarement, c'est ce que je disais hier soir dans un précédent post.

Bonne journée
@+

Code:
Sub AlimentationArchive()
Dim x As Integer
With Sheets("Archive")
    x = .Range("b65500").End(xlUp).Row
    .Rows(x).Copy
    .Rows(x + 1).PasteSpecial Paste:=xlPasteFormats
        With .Range("b" & x + 1 & "," & "d" & x + 1 & ":" & "f" & x + 1).Interior
            If ((x + 1) Mod 2) = 0 Then 'pour lignes numéros pairs mettre 1 pour lignes impairs
                    .ColorIndex = 2
                    .Pattern = xlLightUp
                    .PatternColorIndex = 40
            Else
                .ColorIndex = xlNone
            End If
        End With
    .Range("A1").Select
End With
End Sub
 
Dernière édition:

Asperule

XLDnaute Nouveau
Re : Recheche prog. VBA complémentaire.

Bonjour Chantal, Bonjour Pierrot!

Merci à tous! C'est génial ça marche!!!

Si ce n'est:
- vu que je travail sur Mac, ma békanne à eu un bug lors de l'ouverture du fichier... et à planter Excel sur tous les autres fichier ouvert...("Erreur d'éxecution...").J'ai donc relancé Excel, copier les formule VBA sur un nouveau fichier Excel créer par mon Mac et ça fonctionne parfaitement (à prendre note pour ceux qui travail sur mac...).

Entre autre...
Il faut aussi prendre en compte que les deux première ligne ou vont être transferer les données doive être complété par quelquechose et par la présentation de la Bordure... (logique vu qu'il faut s'enservir pour la suite de la présentation... )

Mais il ya un petit Hic...
Lorsqu'on change de client La programation ne s'éffectue plus...

C'est Logique... mais est ce que l'on ne pourrai pas faire quelquechose avec:

Fin = .Range("IV2").End(xlToLeft).Address
For Each Cel In .Range("A2:" & Fin)

pour que la trame de la cellule poursuive le client vers lequel les donnés sont transfèrer?

En tout cas merci beaucoup à tous...

Salutation et bon Dimanche!
Amicalement,
Asperule.
 

bertgrav

XLDnaute Occasionnel
Re : Recheche prog. VBA complémentaire.

bonjour asperule

je ne vois pas ce que tu veux dire.

j'ai essayé le code en changeant de client aprés chaque transfert, de mon coté ça marche, il ne doit pas y avoir de problème vu que tu relances la macro à partir du début et que le contrôle se remet en marche:
dans le code:

Fin = .Range("IV2").End(xlToLeft).Address
For Each Cel In .Range("A2:" & Fin)

c'est à dire le nom du client qui détermine la cellule de référence en feuille archive, puis la derniére ligne utilisée pour ensuite y ajouter : en ligne soit 6 si aucune ligne existant soit en ligne derniére +1, les différentes infos, hauteur etc.. puis la mise en forme des cellules, couleur et bordure.

où est ton soucis......à moins que ta macro doit encore continuer par la suite

amicalement

chantal
 

Asperule

XLDnaute Nouveau
Re : Recheche prog. VBA complémentaire.

Au secour, au secour...

En reprennant ce matin le code que tu as fourni hiers soir, Chantal, le suivi du contour des bordures et le fond des cellules fonction très bien, lorsque je transert les donnés uniquement vers le client "Arnaud".
Mais en transferant les donnés vers d'autres clients tels que "Gérard", le transfert des données s'éffectue très bien mais le fond et la couleur des cellules ne se met pas en place...

Et en plaçant le nouveau code de Pierrot d'aujourd'hui, le transfert devient plus lent, et le contour des bordures ne s'effectue plus...

Excusez moi, je nai pas tout compris...
Vous pourrez-peut-être voir pourquoi cela ne marche pas sur mon fichier joint...
(j'ai peut-être mal ressaisie les codes que vous m'avez fourni...)

Merci...
Amicalement,
Asperule.
 

Pièces jointes

  • Asperule-3-2.xls.zip
    19.2 KB · Affichages: 21

Asperule

XLDnaute Nouveau
Re : Recheche prog. VBA complémentaire.

Re Bonjour Chantal, Pierrot.

Excuse moi je me suis perdu les pédal en bidouillant pour que cela fonction sur Mac...

Merci beaucoup de votre aide... cela ma beaucoup aidé!

Salutation,
Asperule.
 

Jacques87

XLDnaute Accro
Re : Recheche prog. VBA complémentaire.

Bonjour tout le monde,

J'ai suivi votre Fil qui m'intéressait

Je me permets de m'y insérer pour apporter quelques petites choses
Pierrot j'ai encore simplifier le code de la macro
De plus ce qui m'embêtait dans ce code, c'est qu'en cas d'erreur on renvoyait l'utilisateur vers un "End Sub". De ce fait, comme rien ne se passait, on ne pouvait savoir si oui ou non, l'archivage était fait.
C'est pourquoi j'ai ajouté des MsgBox en cas de réussite ou d'échec

Bon courage
 

Statistiques des forums

Discussions
312 279
Messages
2 086 728
Membres
103 380
dernier inscrit
prolofief