macro pour archiver...

  • Initiateur de la discussion christian
  • Date de début
C

christian

Guest
Bonjour à tout le forum,

Je souhaiterais avoir de l'aide pour l'écriture d'une macro. Cette macro devra copier les données d'une feuille vers une autre feuille, afin d'avoir une base de données.

fichier joint (plus simple...)

Merci pour l'attention que vous voudrez bien accorder à ma demande.

Bien amicalement,
Christian B) [file name=christian_20050618105621.zip size=15677]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/christian_20050618105621.zip[/file]
 

Pièces jointes

  • christian_20050618105621.zip
    15.3 KB · Affichages: 34
E

ERIC S

Guest
bonjour

pas le temps de faire mieux

sur feuille base ligne 2 masquée il faut que tu finisses de compléter les formules

A+ [file name=christian_20050618125956.zip size=15422]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/christian_20050618125956.zip[/file]
 

Pièces jointes

  • christian_20050618125956.zip
    15.1 KB · Affichages: 34

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Christian, Éric, bonjour le forum,

Éric a été le plus rapide ! Chapeau. Je t'envoie quand même ma proposition car ça m'embête d'y avoir bossé pour rien.
[file name=christian2.zip size=18195]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/christian2.zip[/file]
 

Pièces jointes

  • christian2.zip
    17.8 KB · Affichages: 47
  • christian2.zip
    17.8 KB · Affichages: 52
  • christian2.zip
    17.8 KB · Affichages: 48

jepi67

XLDnaute Occasionnel
Bonjour à tous,
Bonjour Robert,

Débutant en VBA je me suis demandé quel est l'utilité de la ligne
ActiveCell.Select 'sélectionne la cellule active, en début de macro.

L'ayant desactivée, je constate que le bouton grandit à chaque clic !
Mystérieux pour moi.

Je viens de voir que Thierry fait la même remarque
Mais je pense que, contrairement à moi, lui trouvera la solution de lui-même.

Pour moi un petit (pas trop quand même) éclaircissement me serait utile.

Merci d'avance
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour le Fil, bonjour le forum,


Thierry tu peux pas t'imaginer comme ton foutage de gueule me fait plaisir. Je m'explique... Depuis que je pratique le VBA (c'est à dire à peu près depuis que tu m'as engueulé avec mes Select et mes Loop pour atteindre la première ligne vide...), je suis emm... avec le CommandButton qui prend le focus au clic. Tu connais mon aversion pour les rongeurs (rats, souris, mulots et autres insectes...). Si je clique sur un CommandButton et que dans le code aucune cellule n'est activée je me retrouve avec le focus sur le bouton et la seule option que j'ai pour activer une cellule c'est de cliquer avec la souris.
Je sais que la propriété TakeFocusOnCLick peut prendre la valeur False mais, ça s'explique pas, ça ne me convient pas (les coups et les douleurs ça se discute pas, dit-on).
Alors, la fameuse ligne, ridicule au possible c'est vrai, mais qui me convient mieux. J'assume les sarcasmes, foutages de gueule, montrage du doigt, remontrances et autres moqueries mais comme Florent Pané je clame haut et fort 'vous n'aurez pas ma liberté de panser' (non non y'a pas de faute, panser : avoir de la panse...)

Voilà, maintenant si tu as mieux, je suis preneur.

Mais j'oublie l'essentiel... J'ai lu dans un post que ton anniversaire était ces jours-ci voire aujourd'hui. Alors mon très cher
um Feliz Aniversário para você !!!
 

jepi67

XLDnaute Occasionnel
Rebonjour le fil et le forum,

Me voilà perdu encore un peu plus. Car ce bouton (qui va finir par m'en donner...) prends de l'embonpoint (le focus ?) à chaque premier clique après une nouvelle sélection dans la feuil, malgré la commande ActiveCell.Select

Je creuse...

Sorry, j'allais oublier : Bon anniversaire Thierry
Mon fils qui s'appelle Thierry a le sien dans cinq jours...)

Message édité par: jepi67, à: 18/06/2005 15:03
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Bonjour Robert, Bonjour Jepi, le Forum

Je viens de faire le test du Fichier de notre Ami Robert avec la fameuse ligne désactivée...

Jepi, tu as de la chance, ce week-end en réseau à la maison j'ai de l'artillerie lourde pour les besoins de compatibilité de mon développement actuel :


Win XP S/P 2 / Office 97
Win ME / Office 2000
Win 2000 / Office 2000
Win XP S/P 1 / Office 2000
Win XP Pro S/P 2 / Office 2002
Win XP S/P 2 / Office 2003

Aucune de ces versions me fait le coup du bouton 'pansant' !! (voir définition de Robert lol)

Par contre de mémoire de BidouillouDeveloppeur, je me rappelle que j'avais eu une fois à batailler avec un bouton ActiveX sur feuille, mais il était ressorti que c'était plus un porblème de la machine (mémoire saturé, ou affichage... Nettoie bien tes 'tmp', car souvent un tas de 'mso..kekchose' se génère avec ces ActiveX...

Pour notre ami Robert, moi, je ferai ceci :

Option Explicit

Private Sub CommandButton1_Click() 'Bouton 'Enregistrer'
Dim s As Worksheet, c As Worksheet 'déclare les variable s et c (onglet Source et onglet Cible)
Dim dest As Range 'déclare la variable dest (destination)
Dim x As Byte, y As Byte 'déclare les variables x et y

Me.CommandButton1.TakeFocusOnClick =
False

Set s = Me 'définit la variable s
Set c = ThisWorkbook.Sheets('Base') 'définit la variable c
Set dest = c.Range('A65536').End(xlUp).Offset(1, 0) 'définit la variable dest

dest = s.Range('C5').Value
'consommateur
dest.Offset(0, 1) = s.Range('F5').Value
'Nº matricule
dest.Offset(0, 2) = s.Range('C7').Value
'Date et Heure

y = 3
'définit la variable y
   
For x = 9 To 20 'boucle sur les lignes 9 à 20
        dest.Offset(0, y) = s.Cells(x, 3).Value
'Qtés
        dest.Offset(0, y + 1) = s.Cells(x, 4).Value
'Denrées
        dest.Offset(0, y + 2) = s.Cells(x, 7).Value
'Total H.T.
        y = y + 3
'redéfinit la variable y
   
Next x 'prochaine ligne de la boucle
dest.Offset(0, 39) = s.Range('G21').Value
'Prix Total

End Sub


On notera un peu plus 'd'aération' aussi, car tu sais Robert, c'est toléré de faire des identations et des sauts de lignes dans VBA, pour moi, qui rédige et lit des dizaines de centaines de lignes de codes, c'est le Nirvana quand c'est écrit comme ça.

Sinon ton code tient très bien la route, et donc il tourne sur toutes les version listées ci-dessus.

Bon Soirée
@+Thierry
 

Hellboy

XLDnaute Accro
Bonjour a tous


Bon, je suis en retad, j'avais commencé a bizouner le code hier, faute de temps ... :eek: , alors je me suis fais devancé. Pour mon plaisir je vais quand même l'afficher suite a toutes vos réponses.

Code:
Private Sub CommandButton1_Click()
Dim intLigneRef As Integer, intNbArticles As Integer, intNbÉlément As Integer
Application.ScreenUpdating = False
With Worksheets('Base')
     intLigneRef = .Cells(65536, 1).End(xlUp).Offset(1, 0).Row
     .Cells(intLigneRef, 1).Value = Cells(5, 3)
     .Cells(intLigneRef, 2).Value = Cells(5, 5)
     .Cells(intLigneRef, 3).Value = Cells(7, 3)

    For intNbArticles = 9 To Cells(9, 3).End(xlDown).Row - 1
        For intNbÉlément = 0 To 2
            .Cells(intLigneRef, 4 + (3 * (intNbArticles - 9))).Offset(0, intNbÉlément).Value = Cells(intNbArticles, 3).Offset(0, intNbÉlément).Value
        Next intNbÉlément
    Next intNbArticles
    .Cells(intLigneRef, 4 + (3 * (intNbArticles - 9))).Value = Cells(intNbArticles, 6).Value
End With
Application.ScreenUpdating = True
End Sub


[file name=christian_20050619192204.zip size=14595]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/christian_20050619192204.zip[/file]
 

Pièces jointes

  • christian_20050619192204.zip
    14.3 KB · Affichages: 45

jepi67

XLDnaute Occasionnel
_Thierry écrit:
Re Bonjour Robert, Bonjour Jepi, le Forum

Je viens de faire le test du Fichier de notre Ami Robert avec la fameuse ligne désactivée...

Aucune de ces versions me fait le coup du bouton 'pansant' !! (voir définition de Robert lol)
...je me rappelle que j'avais eu une fois à batailler avec un bouton ActiveX sur feuille, mais il était ressorti que c'était plus un porblème de la machine (mémoire saturé, ou affichage... Nettoie bien tes 'tmp', car souvent un tas de 'mso..kekchose' se génère avec ces ActiveX...

Bonjour Thierry, le Forum,

En effet après le nettoyage précité, plus de pb de zoom sur les boutons...

merci beaucoup,

Message édité par: jepi67, à: 22/06/2005 18:54
 

Discussions similaires

Réponses
7
Affichages
329

Statistiques des forums

Discussions
312 305
Messages
2 087 077
Membres
103 455
dernier inscrit
saramachado