Bonjour.
1 - Après avoir extrait d'un fichier texte des données dont les séparateurs
sont "\", je colle dans mon classeur ces données.
2 -Puis j'actionne ma macro dont le code a été créé par enregistrement "en
direct".
Le but de cette macro est de transformer les données.
Je réussi très bien cette manipulation avec un fichier qui aujourd'hui a ses
limites(527 lignes). Ce qui est normal, car je sélectionne en enregistrant
manuellement mes colonnes. Or dès que mon fichier est plus volumineux, ça ne
peut évidemment plus fonctionner
J'aimerai que mon fichier puisse fonctionner avec une quantité de données
nettement supérieure et dont je ne connais pas le nombre.
Plus précisemment, cette macro doit transformer des numéros de licence (9
chiffres) en numéro de dossard de 5 à 6 chiffres selon le cas. Puis de
modifier l'emplacemnt des colonnes. La macro s'arrête ici
3- | Ceci dans un autre but, faire un nouveau copier et enfin l'incorporer
dans un autre fichier EXCEL de
| gestion de CROSS qui celui étant très complexe par toutes ses macros
ne peut être modifié.
| Cette opération est faite manuellement.
Vous trouverez mon fichier sur ce lien.
http://cjoint.com/?llk1co7x8c
En vous remerciant,pour pour votre aide
Bon week-end à tous
Patrick
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Herdet
Bonjour Patrick, Tu peux remplacer ton code : ------------------------------------------------------------ 'Création de la catégorie Range("I2").Select ActiveCell.FormulaR1C1 = _ "=IF(OR(RC[-5]=""BG"",RC[-5]=""BF""),RC[-5]&"" ""&RIGHT(VLOOKUP(ANNEE_CROSS-YEAR(RC[-4]),Cat,2,FALSE)),RC[-5])" 'Création du NUMERO de DOSSARD Range("J2").Select ActiveCell.FormulaR1C1 = _ "=(VLOOKUP(LEFT(RIGHT(RC[-9],7),3)*1,NUMACA,3,FALSE)&RIGHT(RC[-9],4))*1" Range("I2:J2").Select Selection.AutoFill Destination:=Range("I2:J527") Range("I2:J527").Select 'Sélection et COPIE avec collage spécial de la catégorie en D Range("I2").Select Selection.AutoFill Destination:=Range("I2:I527") Range("I2:I527").Select Selection.Copy Range("D2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :úlse, Transpose:úlse Application.CutCopyMode = False ----------------------------------------------------------------------------------------------
par le code suivant : 'Création de la catégorie ' Pour info : n = dernière ligne occupée de la colonne A des N° de licences ' n = Range("A20000").End(xlUp).Row
"Patrick Dupin" a écrit dans le message de news: 43746adf$0$25968$
Bonjour. 1 - Après avoir extrait d'un fichier texte des données dont les séparateurs sont "", je colle dans mon classeur ces données.
2 -Puis j'actionne ma macro dont le code a été créé par enregistrement "en direct".
Le but de cette macro est de transformer les données. Je réussi très bien cette manipulation avec un fichier qui aujourd'hui a ses limites(527 lignes). Ce qui est normal, car je sélectionne en enregistrant manuellement mes colonnes. Or dès que mon fichier est plus volumineux, ça ne peut évidemment plus fonctionner J'aimerai que mon fichier puisse fonctionner avec une quantité de données nettement supérieure et dont je ne connais pas le nombre. Plus précisemment, cette macro doit transformer des numéros de licence (9 chiffres) en numéro de dossard de 5 à 6 chiffres selon le cas. Puis de modifier l'emplacemnt des colonnes. La macro s'arrête ici
3- | Ceci dans un autre but, faire un nouveau copier et enfin l'incorporer dans un autre fichier EXCEL de | gestion de CROSS qui celui étant très complexe par toutes ses macros ne peut être modifié. | Cette opération est faite manuellement.
Vous trouverez mon fichier sur ce lien.
http://cjoint.com/?llk1co7x8c En vous remerciant,pour pour votre aide Bon week-end à tous Patrick
Bonjour Patrick,
Tu peux remplacer ton code :
------------------------------------------------------------
'Création de la catégorie
Range("I2").Select
ActiveCell.FormulaR1C1 = _
"=IF(OR(RC[-5]=""BG"",RC[-5]=""BF""),RC[-5]&""
""&RIGHT(VLOOKUP(ANNEE_CROSS-YEAR(RC[-4]),Cat,2,FALSE)),RC[-5])"
'Création du NUMERO de DOSSARD
Range("J2").Select
ActiveCell.FormulaR1C1 = _
"=(VLOOKUP(LEFT(RIGHT(RC[-9],7),3)*1,NUMACA,3,FALSE)&RIGHT(RC[-9],4))*1"
Range("I2:J2").Select
Selection.AutoFill Destination:=Range("I2:J527")
Range("I2:J527").Select
'Sélection et COPIE avec collage spécial de la catégorie en D
Range("I2").Select
Selection.AutoFill Destination:=Range("I2:I527")
Range("I2:I527").Select
Selection.Copy
Range("D2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False
----------------------------------------------------------------------------------------------
par le code suivant :
'Création de la catégorie
' Pour info : n = dernière ligne occupée de la colonne A des N° de
licences
' n = Range("A20000").End(xlUp).Row
"Patrick Dupin" <pindu33@hotmail.com> a écrit dans le message de news:
43746adf$0$25968$7a628cd7@news.club-internet.fr...
Bonjour.
1 - Après avoir extrait d'un fichier texte des données dont les
séparateurs sont "", je colle dans mon classeur ces données.
2 -Puis j'actionne ma macro dont le code a été créé par enregistrement "en
direct".
Le but de cette macro est de transformer les données.
Je réussi très bien cette manipulation avec un fichier qui aujourd'hui a
ses limites(527 lignes). Ce qui est normal, car je sélectionne en
enregistrant manuellement mes colonnes. Or dès que mon fichier est plus
volumineux, ça ne peut évidemment plus fonctionner
J'aimerai que mon fichier puisse fonctionner avec une quantité de données
nettement supérieure et dont je ne connais pas le nombre.
Plus précisemment, cette macro doit transformer des numéros de licence (9
chiffres) en numéro de dossard de 5 à 6 chiffres selon le cas. Puis de
modifier l'emplacemnt des colonnes. La macro s'arrête ici
3- | Ceci dans un autre but, faire un nouveau copier et enfin l'incorporer
dans un autre fichier EXCEL de
| gestion de CROSS qui celui étant très complexe par toutes ses macros
ne peut être modifié.
| Cette opération est faite manuellement.
Vous trouverez mon fichier sur ce lien.
http://cjoint.com/?llk1co7x8c
En vous remerciant,pour pour votre aide
Bon week-end à tous
Patrick
Bonjour Patrick, Tu peux remplacer ton code : ------------------------------------------------------------ 'Création de la catégorie Range("I2").Select ActiveCell.FormulaR1C1 = _ "=IF(OR(RC[-5]=""BG"",RC[-5]=""BF""),RC[-5]&"" ""&RIGHT(VLOOKUP(ANNEE_CROSS-YEAR(RC[-4]),Cat,2,FALSE)),RC[-5])" 'Création du NUMERO de DOSSARD Range("J2").Select ActiveCell.FormulaR1C1 = _ "=(VLOOKUP(LEFT(RIGHT(RC[-9],7),3)*1,NUMACA,3,FALSE)&RIGHT(RC[-9],4))*1" Range("I2:J2").Select Selection.AutoFill Destination:=Range("I2:J527") Range("I2:J527").Select 'Sélection et COPIE avec collage spécial de la catégorie en D Range("I2").Select Selection.AutoFill Destination:=Range("I2:I527") Range("I2:I527").Select Selection.Copy Range("D2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :úlse, Transpose:úlse Application.CutCopyMode = False ----------------------------------------------------------------------------------------------
par le code suivant : 'Création de la catégorie ' Pour info : n = dernière ligne occupée de la colonne A des N° de licences ' n = Range("A20000").End(xlUp).Row
"Patrick Dupin" a écrit dans le message de news: 43746adf$0$25968$
Bonjour. 1 - Après avoir extrait d'un fichier texte des données dont les séparateurs sont "", je colle dans mon classeur ces données.
2 -Puis j'actionne ma macro dont le code a été créé par enregistrement "en direct".
Le but de cette macro est de transformer les données. Je réussi très bien cette manipulation avec un fichier qui aujourd'hui a ses limites(527 lignes). Ce qui est normal, car je sélectionne en enregistrant manuellement mes colonnes. Or dès que mon fichier est plus volumineux, ça ne peut évidemment plus fonctionner J'aimerai que mon fichier puisse fonctionner avec une quantité de données nettement supérieure et dont je ne connais pas le nombre. Plus précisemment, cette macro doit transformer des numéros de licence (9 chiffres) en numéro de dossard de 5 à 6 chiffres selon le cas. Puis de modifier l'emplacemnt des colonnes. La macro s'arrête ici
3- | Ceci dans un autre but, faire un nouveau copier et enfin l'incorporer dans un autre fichier EXCEL de | gestion de CROSS qui celui étant très complexe par toutes ses macros ne peut être modifié. | Cette opération est faite manuellement.
Vous trouverez mon fichier sur ce lien.
http://cjoint.com/?llk1co7x8c En vous remerciant,pour pour votre aide Bon week-end à tous Patrick