Écrire une vba par une autre vba

  • Initiateur de la discussion Tigrette121
  • Date de début
T

Tigrette121

Guest
Bonjour à tous,

Est-ce possible de modifier une partie d'un code vba par une autre vba?

Si oui, je ne trouve pas comment. :(

Merci
 

mutzik

XLDnaute Barbatruc
bonjour Tigrette121,

Ce n'est pas la première fois que je vois ce genre de demande et, chaque fois (donc une fois de plus) je répond :

si vous avez ce besoin, c'est que le code et l'appli ne sont pas correctement étudiées au départ, et que le projet n'a pas été bien ficelé au départ

Mais cela n'engage que moi ...

Message édité par: mutzik, à: 26/04/2006 17:19
 
T

Tigrette121

Guest
Bonjour,

Ça se peut fort bien... je suis débutante, il y a un mois je connaissais rien des usf. J'avais déjà fait du basic, du pascal et des macros en symphonie il y a plus de 15 ans.

Mon problème est: je veux consolider plusieurs feuilles (Facture) toutes dans le même classeur que je crée par usf, dans un autre classeur pour inventaire.

Je ne trouve pas comment ajouter des références (à chaque nouvelle facture)dans ma consolidation.
 

mutzik

XLDnaute Barbatruc
Re,

Avec un petit bout de fichier, on devrait pouvoir t'aider plus simplement, et plus facilement car il y a plein d'outils et de fonctions qui peuvent faire une grosse partie du travail avant d'écrire une quelconque ligne de code VBA
 

dg62

XLDnaute Barbatruc
Bonjour Tigrette, Mutzik


un fichier exemple d'une procédure générée dynamiquement. [file name=procdyn.zip size=18423]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/procdyn.zip[/file]
 

Pièces jointes

  • procdyn.zip
    18 KB · Affichages: 26
T

Tigrette121

Guest
Merci d'essayer de m'aider

Voici le code que j'ai réussi à faire, cela fonctionne sauf que la partie

Selection.Consolidate Sources:=Array( _
''C:\\[Facture.xls]Facture26'!R30C2:R43C7
etc

je dois aller chercher un code que je fais écrire dans une autre macro, celle qui cré mes factures. Je ne réussi pas à automatiser cette partie.

Espérant que vous comprenez ce que je veux dire...


Sub MiseAJour()

'
' Mise à jour de l'inventaire
' Macro enregistrée le 2006-04-14 par Carole
'

'Effacer les consolidations et inventaire présédents

'Trouve la première cellule vide de la colonne A

Range('A6:A999').Activate
En_Colonne = ActiveCell.Column
En_ligne = ActiveCell.Row + 1
While Not IsEmpty(ActiveCell.Value)
Cells(En_ligne, En_Colonne).Activate
En_ligne = En_ligne + 1
Wend
With ActiveCell
ActiveCell.FormulaR1C1 = ''
End With


Colonne = Left$(ActiveCell.Address(0, 0), (ActiveCell.Column < 27) + 2)
ligne = ActiveCell.Row

Range('A6:K' & ligne).Select
Selection.ClearContents

Range('A5').Select




''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''' C'est ici qu'il faut copier le code récupérer dans l'autre macro ''''''''''''''''
''''''''''''''''''''' Sélectionner le code suivant ''''''''''''''''
''''''''''''''''''''' Faire le 'Ctrl V' ''''''''''''''''
''''''''''''''''''''' Fermer avec le X rouge ''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Selection.Consolidate Sources:=Array( _
''C:\\[Facture.xls]Facture26'!R30C2:R43C7', _
''C:\\[Facture.xls]Facture27'!R30C2:R43C7', _
''C:\\[Facture.xls]Facture28'!R30C2:R43C7', _
''C:\\[Facture.xls]Facture29'!R30C2:R43C7', _
''C:\\[Facture.xls]Facture30'!R30C2:R43C7', _
''C:\\[Facture.xls]Facture31'!R30C2:R43C7', _
''C:\\[Facture.xls]Facture32'!R30C2:R43C7', _
''C:\\[Facture.xls]Facture33'!R30C2:R43C7', _
''C:\\[Facture.xls]Facture34'!R30C2:R43C7', _
''C:\\[Facture.xls]Facture35'!R30C2:R43C7', _
''C:\\[Facture.xls]Facture36'!R30C2:R43C7', _
''C:\\[Facture.xls]Facture37'!R30C2:R43C7', _
''C:\\[Facture.xls]Facture38'!R30C2:R43C7', _
''C:\\[Facture.xls]Facture39'!R30C2:R43C7', _
''C:\\[Facture.xls]Facture40'!R30C2:R43C7', _
''C:\\[Facture.xls]Facture41'!R30C2:R43C7', _
''C:\\[Facture.xls]Facture42'!R30C2:R43C7', _
''C:\\[Facture.xls]Facture43'!R30C2:R43C7', _
''C:\\[Facture.xls]Facture44'!R30C2:R43C7', _
''C:\\[Facture.xls]Facture45'!R30C2:R43C7'), _
Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False








''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''' OK ne pas sélectionner ici Merci ''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''




'Trier les numéro d'articles vendus

'Trouver la première cellule vide de la colonne A

Range('A6:A999').Activate
En_Colonne = ActiveCell.Column
En_ligne = ActiveCell.Row + 1
While Not IsEmpty(ActiveCell.Value)
Cells(En_ligne, En_Colonne).Activate
En_ligne = En_ligne + 1
Wend
With ActiveCell
ActiveCell.FormulaR1C1 = ''
End With


Colonne = Left$(ActiveCell.Address(0, 0), (ActiveCell.Column < 27) + 2)
ligne = ActiveCell.Row - 1

Range('A6:C' & ligne).Select
Selection.Sort Key1:=Range('A6'), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom


'Crée le tableau de l'inventaire

Range('H6').Select
ActiveCell.FormulaR1C1 = '=IF(RC[-7]<1000,'' '',VALUE(RC[-7]))'
Range('I6').Select
ActiveCell.FormulaR1C1 = '=VLOOKUP(RC[-1],Inventaire!R4C1:R34C13,7)'
Range('J6').Select
ActiveCell.FormulaR1C1 = '=RC[-7]'
Range('K6').Select
ActiveCell.FormulaR1C1 = '=RC[-2]-RC[-1]'
Range('K7').Select


Range('H6:K6').Select
Selection.Copy
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range('H6:K100'), Type:=xlFillDefault
Range('H6:K100').Select 'Si plus de 100 produit,
Range('H6:K100').Select 'changer ces chiffres pour un plus élevé
Range('A1').Activate

'Supprime les lignes vides

Range('H' & (ligne + 1) & ':K100').Select
Selection.ClearContents

Range('H1').Select


End Sub
 

soft

XLDnaute Occasionnel
Bonjour à tous,

Pour reprendre le code d'une feuille sur une autre, une autre réponse Ce lien n'existe plus.

Mais personnellement j'enregistrerais le code dans un fichier xla pour l'avoir disponible pour toutes les factures.
 

Discussions similaires

Réponses
3
Affichages
324
Réponses
6
Affichages
325

Statistiques des forums

Discussions
312 697
Messages
2 091 074
Membres
104 752
dernier inscrit
Black_Bovary_