Correspondance VBA / Macro XL4

  • Initiateur de la discussion Initiateur de la discussion gabriel
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

gabriel

Guest
Bonjour à tous,
Existe t-il une traduction ou correspondance meme approximative des macro XL4
Je suis en train d'actualiser un programme XL4 en VBA et c'est assez ardu...
quelqu'un peut m'aider ?

exemple de code à traduire

=SELECTION.ATTEINDRE('DebutBase')
=MODIFIER.SELECTION(4)
=MODIFIER.SELECTION(2)
=DEFINIR.NOM('Fin')
=SELECTIONNER('Fin😀ebutBase')
=DEFINIR.NOM('Extraction')
=RETOUR()
Merci pour votre aide
 
Bonjour gabriel

bon, vraiment pas sur de moi, mais j'ai essayé de te traduire ce code :


Public Sub vev()
Range('Debutbase').Select
'=SELECTION.ATTEINDRE('DebutBase')
Cells(65536, ActiveCell.Column).End(xlUp).Select
' = MODIFIER.Selection(4)
Cells(ActiveCell.Row, 256).End(xlToLeft).Select
' = MODIFIER.Selection(2)
ActiveCell.Name = 'Fin'
' = DEFINIR.NOM('Fin')
Range('Debutbase', 'fin').Select
'=SELECTIONNER('Fin😀ebutBase')
Selection.Name = 'Extraction'
'=DEFINIR.NOM('Extraction')
End Sub


ce code doit etre simplifiable par ceci :


Sub Bouton2_QuandClic()
Range('Debutbase').CurrentRegion.Name = 'Extraction'
End Sub


salut
 
Bonjour Gabriel,
Les macros XL4 fonctionnent toujours s/les versions postérieures, la preuve, je viens de recopier ton code, et de l'executer. On peut donc même en faire. Les 2 sont compatibles.
Dans ton exemple,
=MODIFIER.SELECTION(4) et =MODIFIER.SELECTION(2)
me sélectionnent une zone qui s'étend de la cellule nommée DebutBase à la IV65536, c'est à dire la dernière de la feuille, la nomme fin, et nomme la zone Extraction.
En VBA ça donne ça :

Sub Macro1()
Range('DebutBase').Select
Selection.End(xlToRight).Select
Selection.End(xlDown).Select
Selection.Name = 'Fin'
Range('DebutBase:Fin').Select
Selection.Name = 'Extaction'
End Sub

Mais si ça marche en XL4, à quoi bon destroy ?
A+
 
Merci pour ce morceau de code...
Mais ca marche pas.
En fait ce que je souhaiterais, c'est nommer une plage de cellules issu d'une extraction sans doublons (via le filtre élaboré) pour alimenter des combobox.
colonne AB = dossier
colonne AC = enseigne
colonne AD = societe
colonne AE = annee
colonne AF = affectation
Comme la longueur des plages est variable, j'ai besoin de définir un nom X que je puisse reprendre dans la ligne : Combobox.RowSource=('Base!NomDossier')
Les entetes de colonnes sont tjrs les memes, seul le nombre de ligne change en fonction des saisie.
Voila, ma demande est formulée.
Merci de ton aide, en espérant que ce soit dans tes cordes...
@+
 
Merci à vous de vous pencher sur mon cas...
Le problème c'est que le programme que j'ai fait en XL4 date un peu, qu'il fait 34 Mo, néanmoins très esthétique ce qui explique son poids.
Cette conversion de code me permet aussi et surtout d'apprendre un language qui à mon avis et plus puissant et + rapide.
Je viens d'essayé ta traduction de code...
CA MARCHE !!!
Merci encore de vos réponses, et vu comme j'avance (à trés petits pas), j'aurais besoins de vos lumières incessament sous peu... si disponibilité il y a.

@+
Gabriel
 
Re,
Attention aux filtres, le nom sera affecté de la première valeur trouvée à la dernière, incluant celles entre. (géographiquement parlant)
Vaudrait mieux trier avant de filtrer


Sub Macro1()
Range('AB1').Select
Range(Selection, Selection.End(xlDown)).Name = 'dossier'
Range('AC1').Select
Range(Selection, Selection.End(xlDown)).Name = 'enseigne'
......
End Sub
 
Bonsoir Gruick
Suite à ton conseil j'ai fais ça :
Sub TriExtract()
Range('ExtractEnseigne').Select
Selection.Sort Key1:=Range('AB2'), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range('ExtractSociete').Select
Selection.Sort Key1:=Range('AC2'), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
.....
End Sub
Pour les 5 champs et je l'ai mis dans l'USF en initialisation... ca marche et c'est rapide.

Merci encore et @+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

V
Réponses
0
Affichages
753
V
D
Réponses
5
Affichages
1 K
Dimebag
D
A
  • Question Question
Réponses
3
Affichages
1 K
M
Réponses
9
Affichages
1 K
M
C
Réponses
1
Affichages
2 K
Compte Supprimé 979
C
H
Réponses
3
Affichages
2 K
Compte Supprimé 979
C
C
Réponses
3
Affichages
1 K
Calico79
C
N
Réponses
2
Affichages
2 K
N
J
Réponses
1
Affichages
1 K
Jean-Marie
J
F
Réponses
1
Affichages
847
M
I
Réponses
1
Affichages
9 K
informatixo
I
Retour