et que je tire ces deux donn=E9es : mars, avril, mai,... vont
s'incr=E9menter automatiquement
=E7a fonctionne parfaitement aussi avec les nombres, les dates, les mois,
=2E.. ( au fait quelqu'un aurait-il quelque part une liste de tout ce qui
est possible de tirer ?)
Maintenant si je mets :
A1 : a
B1 : b
C1 : c
Contre toute attente, il ne vient pas =E0 l'id=E9e d'Excel de mettre
=E9ventuellement... d, e, f,...; mais il se borne =E0 cracher des suites
d'abc, abc, abc...
Quelqu'un a-t-il une solution qui permette de g=E9n=E9rer verticalement
via une formule qu l'on tire une suite de type : a, b, c, .... ,z, aa,
ab,..., za , zb, ..., aaa,...., ect.
Merci d'avance pour votre aide toujours pr=E9cieuse - sundow
Faites menu Outils/Options.../Liste pers. Cliquez sur Ajouter Tapez dans entrées de la liste a,b,c,d,...x,y,z et OK
Cordialement.
PMO Patrick Morange
Philippe.R
Bonsoir, en ligne 1 : Êr(ligne()+96) à recopier vers le bas -- Avec plaisir http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel a écrit dans le message de news: Bonjour,
Si je mets en
A1 : janvier A2 : février
et que je tire ces deux données : mars, avril, mai,... vont s'incrémenter automatiquement
ça fonctionne parfaitement aussi avec les nombres, les dates, les mois, ... ( au fait quelqu'un aurait-il quelque part une liste de tout ce qui est possible de tirer ?)
Maintenant si je mets :
A1 : a B1 : b C1 : c
Contre toute attente, il ne vient pas à l'idée d'Excel de mettre éventuellement... d, e, f,...; mais il se borne à cracher des suites d'abc, abc, abc...
Quelqu'un a-t-il une solution qui permette de générer verticalement via une formule qu l'on tire une suite de type : a, b, c, .... ,z, aa, ab,..., za , zb, ..., aaa,...., ect.
Merci d'avance pour votre aide toujours précieuse - sundow
Bonsoir,
en ligne 1 :
Êr(ligne()+96)
à recopier vers le bas
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
<d.sundow@yahoo.com> a écrit dans le message de
news:ca075cc8-30c4-49ef-951f-52fd652cb713@1g2000prg.googlegroups.com...
Bonjour,
Si je mets en
A1 : janvier
A2 : février
et que je tire ces deux données : mars, avril, mai,... vont
s'incrémenter automatiquement
ça fonctionne parfaitement aussi avec les nombres, les dates, les mois,
... ( au fait quelqu'un aurait-il quelque part une liste de tout ce qui
est possible de tirer ?)
Maintenant si je mets :
A1 : a
B1 : b
C1 : c
Contre toute attente, il ne vient pas à l'idée d'Excel de mettre
éventuellement... d, e, f,...; mais il se borne à cracher des suites
d'abc, abc, abc...
Quelqu'un a-t-il une solution qui permette de générer verticalement
via une formule qu l'on tire une suite de type : a, b, c, .... ,z, aa,
ab,..., za , zb, ..., aaa,...., ect.
Merci d'avance pour votre aide toujours précieuse - sundow
Bonsoir, en ligne 1 : Êr(ligne()+96) à recopier vers le bas -- Avec plaisir http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel a écrit dans le message de news: Bonjour,
Si je mets en
A1 : janvier A2 : février
et que je tire ces deux données : mars, avril, mai,... vont s'incrémenter automatiquement
ça fonctionne parfaitement aussi avec les nombres, les dates, les mois, ... ( au fait quelqu'un aurait-il quelque part une liste de tout ce qui est possible de tirer ?)
Maintenant si je mets :
A1 : a B1 : b C1 : c
Contre toute attente, il ne vient pas à l'idée d'Excel de mettre éventuellement... d, e, f,...; mais il se borne à cracher des suites d'abc, abc, abc...
Quelqu'un a-t-il une solution qui permette de générer verticalement via une formule qu l'on tire une suite de type : a, b, c, .... ,z, aa, ab,..., za , zb, ..., aaa,...., ect.
Merci d'avance pour votre aide toujours précieuse - sundow
d.sundow
PMO :
Faites menu Outils/Options.../Liste pers. Cliquez sur Ajouter Tapez dans entrées de la liste a,b,c,d,...x,y,z
Philippe.R :
En ligne 1 : Êr(ligne()+96) à recopier vers le bas
Bonsoir Patrick, bonsoir Philippe,
Merci beaucoup pour vos réponses.
Je n'ai pas encore testé celle de PMO car à la maison je suis sur ce rjvnlmpkrrrrrrr de 2007 et j'en ai pour des plombes à trouver les menus (que je ne trouve d'ailleurs en général pas; et c'est le cas ce soir) :-))
Passons donc à la suggestion de Philippe.R dont j'apprécie grandement le caractère universel.
Je dirais que par rapport à ma question cette réponse est 26 fois juste, mais au delà de ça... hum !
En effet la formule en question pointe de toute évidence sur la base de donnée des caratères de la machine (d'où le -96). Aussi passé le z, nous ne tombons pas sur za, zb, zc, ... mais sur {; |; }; ~; .... et ça, ça m'arrange pas du tout :-))
Je suis curieux de tester avec demain la solution à PMO avec mon bon vieux 2003 (bouh 2007!) .
Je vous tiens bien sure au courant.
Merci encore pour votre intervention et très bonne soirée - sundow
PMO :
Faites menu Outils/Options.../Liste pers.
Cliquez sur Ajouter
Tapez dans entrées de la liste
a,b,c,d,...x,y,z
Philippe.R :
En ligne 1 : =car(ligne()+96) à recopier vers le bas
Bonsoir Patrick, bonsoir Philippe,
Merci beaucoup pour vos réponses.
Je n'ai pas encore testé celle de PMO car à la maison je suis sur ce
rjvnlmpkrrrrrrr de 2007 et j'en ai pour des plombes à trouver les
menus (que je ne trouve d'ailleurs en général pas; et c'est le cas ce
soir) :-))
Passons donc à la suggestion de Philippe.R dont j'apprécie grandement
le caractère universel.
Je dirais que par rapport à ma question cette réponse est 26 fois
juste, mais au delà de ça... hum !
En effet la formule en question pointe de toute évidence sur la base
de donnée des caratères de la machine (d'où le -96). Aussi passé le z,
nous ne tombons pas sur za, zb, zc, ... mais sur {; |; }; ~; .... et
ça, ça m'arrange pas du tout :-))
Je suis curieux de tester avec demain la solution à PMO avec mon bon
vieux 2003 (bouh 2007!) .
Je vous tiens bien sure au courant.
Merci encore pour votre intervention et très bonne soirée - sundow
Faites menu Outils/Options.../Liste pers. Cliquez sur Ajouter Tapez dans entrées de la liste a,b,c,d,...x,y,z
Philippe.R :
En ligne 1 : Êr(ligne()+96) à recopier vers le bas
Bonsoir Patrick, bonsoir Philippe,
Merci beaucoup pour vos réponses.
Je n'ai pas encore testé celle de PMO car à la maison je suis sur ce rjvnlmpkrrrrrrr de 2007 et j'en ai pour des plombes à trouver les menus (que je ne trouve d'ailleurs en général pas; et c'est le cas ce soir) :-))
Passons donc à la suggestion de Philippe.R dont j'apprécie grandement le caractère universel.
Je dirais que par rapport à ma question cette réponse est 26 fois juste, mais au delà de ça... hum !
En effet la formule en question pointe de toute évidence sur la base de donnée des caratères de la machine (d'où le -96). Aussi passé le z, nous ne tombons pas sur za, zb, zc, ... mais sur {; |; }; ~; .... et ça, ça m'arrange pas du tout :-))
Je suis curieux de tester avec demain la solution à PMO avec mon bon vieux 2003 (bouh 2007!) .
Je vous tiens bien sure au courant.
Merci encore pour votre intervention et très bonne soirée - sundow
Modeste
Bonsour® avec ferveur ;o))) vous nous disiez :
et que je tire ces deux données : mars, avril, mai,... vont s'incrémenter automatiquement Quelqu'un a-t-il une solution qui permette de générer verticalement via une formule qu l'on tire une suite de type : a, b, c, .... ,z, aa, ab,..., za , zb, ..., aaa,...., ect.
similaire au codage décimal vers Hexa une fonction perso : Dec2Alpha
Function Dec2Alpha(target) As String chaine = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" Dim a As Double, b As Double, c As String, d As Double a = target - 1 For b = 1 To Int(Log(target) / Log(26)) + 1 d = CDbl(a Mod 26) c = Mid(chaine, d + 1, 1) Dec2Alpha = c & Dec2Alpha a = CDbl(Int(a / 26)) - 1 Next b End Function
Utilisation : en D3 Þc2Alpha(ligne()) affichage C
en E3Þc2Alpha(1000+ligne()) affichage ALO tirer la formule vers le bas vers le bas affichage ALP, ALQ, ALR
-- -- @+ ;o)))
Bonsour® d.sundow@yahoo.com avec ferveur ;o))) vous nous disiez :
et que je tire ces deux données : mars, avril, mai,... vont
s'incrémenter automatiquement
Quelqu'un a-t-il une solution qui permette de générer verticalement
via une formule qu l'on tire une suite de type : a, b, c, .... ,z, aa,
ab,..., za , zb, ..., aaa,...., ect.
similaire au codage décimal vers Hexa
une fonction perso :
Dec2Alpha
Function Dec2Alpha(target) As String
chaine = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Dim a As Double, b As Double, c As String, d As Double
a = target - 1
For b = 1 To Int(Log(target) / Log(26)) + 1
d = CDbl(a Mod 26)
c = Mid(chaine, d + 1, 1)
Dec2Alpha = c & Dec2Alpha
a = CDbl(Int(a / 26)) - 1
Next b
End Function
Utilisation :
en D3 Þc2Alpha(ligne()) affichage C
en E3Þc2Alpha(1000+ligne()) affichage ALO
tirer la formule vers le bas vers le bas affichage ALP, ALQ, ALR
et que je tire ces deux données : mars, avril, mai,... vont s'incrémenter automatiquement Quelqu'un a-t-il une solution qui permette de générer verticalement via une formule qu l'on tire une suite de type : a, b, c, .... ,z, aa, ab,..., za , zb, ..., aaa,...., ect.
similaire au codage décimal vers Hexa une fonction perso : Dec2Alpha
Function Dec2Alpha(target) As String chaine = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" Dim a As Double, b As Double, c As String, d As Double a = target - 1 For b = 1 To Int(Log(target) / Log(26)) + 1 d = CDbl(a Mod 26) c = Mid(chaine, d + 1, 1) Dec2Alpha = c & Dec2Alpha a = CDbl(Int(a / 26)) - 1 Next b End Function
Utilisation : en D3 Þc2Alpha(ligne()) affichage C
en E3Þc2Alpha(1000+ligne()) affichage ALO tirer la formule vers le bas vers le bas affichage ALP, ALQ, ALR
-- -- @+ ;o)))
d.sundow
Bonjour PMO,
Merci pour ta suggestion. J'ai créer la liste de l'alphabet, mais comme je m'en doutais un peu cette option génère des suites redondantes et non des suites incrémentées.
Toutefois peut-être que couplée à la fonction à Modeste, cette voie sera peut être celle qui pourra me tirer d'affaire en définitive.
*** Bonjour Modeste,
Merci pour ton impressionnante fonction.
Elle est presque parfaite.
Je l'ai testée de 1 à 65536 (Eviv 3002! Eviv Bulgroz!) et j'ai ponctuellement des #VALEUR! qui viennent là juste pour embêter.
Le premier tout seul en ligne 26. (si l'on part avec A en ligne 1) En suite une série allant des lignes 676 à 702 Puis une troisième et dernière série des lignes :17576 à 18278
Quelqu'un aurait-il une idée d'où cela peut-il bien provenir ? Car franchement de mon côté le code à Modeste me dépasse complètement.
Merci d'avance pour votre aide - sundow
Bonjour PMO,
Merci pour ta suggestion. J'ai créer la liste de l'alphabet, mais
comme je m'en doutais un peu cette option génère des suites
redondantes et non des suites incrémentées.
Toutefois peut-être que couplée à la fonction à Modeste, cette voie
sera peut être celle qui pourra me tirer d'affaire en définitive.
***
Bonjour Modeste,
Merci pour ton impressionnante fonction.
Elle est presque parfaite.
Je l'ai testée de 1 à 65536 (Eviv 3002! Eviv Bulgroz!) et j'ai
ponctuellement des #VALEUR! qui viennent là juste pour embêter.
Le premier tout seul en ligne 26. (si l'on part avec A en ligne 1)
En suite une série allant des lignes 676 à 702
Puis une troisième et dernière série des lignes :17576 à 18278
Quelqu'un aurait-il une idée d'où cela peut-il bien provenir ? Car
franchement de mon côté le code à Modeste me dépasse complètement.
Merci pour ta suggestion. J'ai créer la liste de l'alphabet, mais comme je m'en doutais un peu cette option génère des suites redondantes et non des suites incrémentées.
Toutefois peut-être que couplée à la fonction à Modeste, cette voie sera peut être celle qui pourra me tirer d'affaire en définitive.
*** Bonjour Modeste,
Merci pour ton impressionnante fonction.
Elle est presque parfaite.
Je l'ai testée de 1 à 65536 (Eviv 3002! Eviv Bulgroz!) et j'ai ponctuellement des #VALEUR! qui viennent là juste pour embêter.
Le premier tout seul en ligne 26. (si l'on part avec A en ligne 1) En suite une série allant des lignes 676 à 702 Puis une troisième et dernière série des lignes :17576 à 18278
Quelqu'un aurait-il une idée d'où cela peut-il bien provenir ? Car franchement de mon côté le code à Modeste me dépasse complètement.
Merci d'avance pour votre aide - sundow
Modeste
Bonsour® avec ferveur ;o))) vous nous disiez :
Elle est presque parfaite.
Je l'ai testée de 1 à 65536 (Eviv 3002! Eviv Bulgroz!) et j'ai ponctuellement des #VALEUR! qui viennent là juste pour embêter.
Oupsss.... tests pas assez poussés.... correction :
Function Dec2Alpha(target) As String chaine = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" Dim a As Double, b As Double, c As String, d As Double a = target - 1 For b = 1 To Int(Log(target) / Log(26)) + 1 d = CDbl(a Mod 26) c = Mid(chaine, d + 1, 1) Dec2Alpha = c & Dec2Alpha a = CDbl(Int(a / 26)) - 1 If a < 0 Then Exit For Next b End Function
-- -- @+ ;o)))
Bonsour® d.sundow@yahoo.com avec ferveur ;o))) vous nous disiez :
Elle est presque parfaite.
Je l'ai testée de 1 à 65536 (Eviv 3002! Eviv Bulgroz!) et j'ai
ponctuellement des #VALEUR! qui viennent là juste pour embêter.
Oupsss....
tests pas assez poussés....
correction :
Function Dec2Alpha(target) As String
chaine = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Dim a As Double, b As Double, c As String, d As Double
a = target - 1
For b = 1 To Int(Log(target) / Log(26)) + 1
d = CDbl(a Mod 26)
c = Mid(chaine, d + 1, 1)
Dec2Alpha = c & Dec2Alpha
a = CDbl(Int(a / 26)) - 1
If a < 0 Then Exit For
Next b
End Function
Je l'ai testée de 1 à 65536 (Eviv 3002! Eviv Bulgroz!) et j'ai ponctuellement des #VALEUR! qui viennent là juste pour embêter.
Oupsss.... tests pas assez poussés.... correction :
Function Dec2Alpha(target) As String chaine = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" Dim a As Double, b As Double, c As String, d As Double a = target - 1 For b = 1 To Int(Log(target) / Log(26)) + 1 d = CDbl(a Mod 26) c = Mid(chaine, d + 1, 1) Dec2Alpha = c & Dec2Alpha a = CDbl(Int(a / 26)) - 1 If a < 0 Then Exit For Next b End Function
-- -- @+ ;o)))
PMO
Bonjour,
La fonction de Modeste a l'air très bien et doit correspondre à votre attente.
Mais voici une autre façon de faire avec le code suivant qui donne des listes incrémentées de manière exhaustive.
Dans la InputBox saisissez une adresse de plage (par ex: c25:c33647) Réglez la constante MAJUSCULE à True OU False selon que vous voulez obtenir des majuscules ou des minuscules La macro ne fonctionnera qu'en lignes et pas en colonnes.
'******************** '### A adapter selon la casse ### Const MAJUSCULE As Boolean = True '################################ Sub Liste_AtoZZZ() Dim R As Range Dim var() Dim maxi& Dim Casse% Dim i& Dim j& Dim k& Dim top& On Error GoTo Erreur Set R = Application.InputBox( _ prompt:="Veuillez indiquer la plage cible sous la forme A1:A65536", _ Title:="Liste verticale de type : A,B,...,AAA,AAB,...", _ Type:=8) If R.Columns.Count > 1 Then MsgBox "Veuillez ne saisir qu'une colonne à la fois" Exit Sub End If On Error GoTo 0 Casse% = 96 If MAJUSCULE Then Casse% = 64 maxi& = R.Rows.Count top& = maxi& 26 If maxi& > top& * 26 Then top& = top& + 1 ReDim var(1 To maxi&, 1 To 1) --- Crée un tableau de "A,B,...,IU,IV,..." --- If maxi& > 26 Then For i& = 1 To top& For j& = 1 To 26 If i& < 2 Then var(j&, 1) = Chr(Casse% + j&) Else k& = (i& - 1) * 26 If j& + k& > maxi& Then Exit For var(j& + k&, 1) = var(i& - 1, 1) & Chr(Casse% + j&) End If Next j& Next i& Else For i& = 1 To maxi& var(i&, 1) = Chr(Casse% + i&) Next i& End If Application.ScreenUpdating = False Range(R.Address) = var Application.ScreenUpdating = True Erreur: End Sub '********************
Cordialement.
PMO Patrick Morange
Bonjour,
La fonction de Modeste a l'air très bien et doit correspondre
à votre attente.
Mais voici une autre façon de faire avec le code suivant qui donne
des listes incrémentées de manière exhaustive.
Dans la InputBox saisissez une adresse de plage (par ex: c25:c33647)
Réglez la constante MAJUSCULE à True OU False selon que vous
voulez obtenir des majuscules ou des minuscules
La macro ne fonctionnera qu'en lignes et pas en colonnes.
'********************
'### A adapter selon la casse ###
Const MAJUSCULE As Boolean = True
'################################
Sub Liste_AtoZZZ()
Dim R As Range
Dim var()
Dim maxi&
Dim Casse%
Dim i&
Dim j&
Dim k&
Dim top&
On Error GoTo Erreur
Set R = Application.InputBox( _
prompt:="Veuillez indiquer la plage cible sous la forme A1:A65536", _
Title:="Liste verticale de type : A,B,...,AAA,AAB,...", _
Type:=8)
If R.Columns.Count > 1 Then
MsgBox "Veuillez ne saisir qu'une colonne à la fois"
Exit Sub
End If
On Error GoTo 0
Casse% = 96
If MAJUSCULE Then Casse% = 64
maxi& = R.Rows.Count
top& = maxi& 26
If maxi& > top& * 26 Then top& = top& + 1
ReDim var(1 To maxi&, 1 To 1)
--- Crée un tableau de "A,B,...,IU,IV,..." ---
If maxi& > 26 Then
For i& = 1 To top&
For j& = 1 To 26
If i& < 2 Then
var(j&, 1) = Chr(Casse% + j&)
Else
k& = (i& - 1) * 26
If j& + k& > maxi& Then Exit For
var(j& + k&, 1) = var(i& - 1, 1) & Chr(Casse% + j&)
End If
Next j&
Next i&
Else
For i& = 1 To maxi&
var(i&, 1) = Chr(Casse% + i&)
Next i&
End If
Application.ScreenUpdating = False
Range(R.Address) = var
Application.ScreenUpdating = True
Erreur:
End Sub
'********************
La fonction de Modeste a l'air très bien et doit correspondre à votre attente.
Mais voici une autre façon de faire avec le code suivant qui donne des listes incrémentées de manière exhaustive.
Dans la InputBox saisissez une adresse de plage (par ex: c25:c33647) Réglez la constante MAJUSCULE à True OU False selon que vous voulez obtenir des majuscules ou des minuscules La macro ne fonctionnera qu'en lignes et pas en colonnes.
'******************** '### A adapter selon la casse ### Const MAJUSCULE As Boolean = True '################################ Sub Liste_AtoZZZ() Dim R As Range Dim var() Dim maxi& Dim Casse% Dim i& Dim j& Dim k& Dim top& On Error GoTo Erreur Set R = Application.InputBox( _ prompt:="Veuillez indiquer la plage cible sous la forme A1:A65536", _ Title:="Liste verticale de type : A,B,...,AAA,AAB,...", _ Type:=8) If R.Columns.Count > 1 Then MsgBox "Veuillez ne saisir qu'une colonne à la fois" Exit Sub End If On Error GoTo 0 Casse% = 96 If MAJUSCULE Then Casse% = 64 maxi& = R.Rows.Count top& = maxi& 26 If maxi& > top& * 26 Then top& = top& + 1 ReDim var(1 To maxi&, 1 To 1) --- Crée un tableau de "A,B,...,IU,IV,..." --- If maxi& > 26 Then For i& = 1 To top& For j& = 1 To 26 If i& < 2 Then var(j&, 1) = Chr(Casse% + j&) Else k& = (i& - 1) * 26 If j& + k& > maxi& Then Exit For var(j& + k&, 1) = var(i& - 1, 1) & Chr(Casse% + j&) End If Next j& Next i& Else For i& = 1 To maxi& var(i&, 1) = Chr(Casse% + i&) Next i& End If Application.ScreenUpdating = False Range(R.Address) = var Application.ScreenUpdating = True Erreur: End Sub '********************
Cordialement.
PMO Patrick Morange
d.sundow
Bonjour PMO, Bonjour Modeste,
YES !!! Itizetotaliperfècte !
La fonction à Modeste est effectivement particulièrement utile au sein même d'une formule (pour définir une adresse de colonne) .
Ex : =Indirect(Dec2Alpha(ligne()&1)
Placée en A2 et tirée vers le bas cette formule va ramener toutes les données horizontale de la ligne 1 dans les cellules verticales de la colonne A.
Le code à PMO est intéressant lui aussi pour générer des listes incrémentées sur des colonnes précises. Cette méthode est beaucoup plus rapide que la fonction à Modeste si l'on veut générer la suite complète s'étendant de la ligne 1 à la ligne 65536 (soit de A à CRXN )
Maintenant mon petit grain de sel à moi mais complètement inspiré par les réponses de PMO et Modeste :
a) générer avec la fonction de Modeste une liste de la ligne 1 à la ligne 65536 (soit de A à CRXN) b) copier/collage spéciale/valeurs de la colonne en question
ou (plus rapide)
- lancer la macro à PMO en définissant la plage A1:A65536 (soit de A à CRXN)
c) Selon la première réponse de PMO :
Outils/Option/Listes pers./bouton importer/sélection de la colonne en question/OK
Nous avons générer une nouvelle liste et ça marche !
Maintenant en tirant la cellule on génère des listes incrémentées comme nous avons pour les jours les semaines etc.
L'incrémentation se fait de manière fluide en minuscules ET en majuscule, et l'on peut commencer sans autre sur n'importe quelle ligne à partir de n'importe quelle lettre. Ça fonctionne verticalement et horizontalement.
Limite :
- Si l'on passe par Liste pers. la série devient redondante au delà de YY (une liste ne peut pas excéder apparemment 675 entrées sur l'excellente et irremplaçable version 2003 d'Excel).
- Inutilisable au sein d'une formule.... quoi que...
En inscrivant 'A' en A1 et 'B' en B2 et que l'on tire ça horizontalement jusqu'en IV, la dernière cellule horizontale des feuille (sur 2003 et inférieur), et bien l'on a récupérer les en-têt es des colonnes en ligne 1! Et ça c'est trop bien!
Merci PMO, Merci Modeste, grâce à vous deux j'ai une réponse tout à fait satisfaisante à ma question, très agréable soirée à vous deux et à tous les utilisateurs d'Excel 2003. :-))
Sundow
Bonjour PMO, Bonjour Modeste,
YES !!! Itizetotaliperfècte !
La fonction à Modeste est effectivement particulièrement utile au sein
même d'une formule (pour définir une adresse de colonne) .
Ex :
=Indirect(Dec2Alpha(ligne()&1)
Placée en A2 et tirée vers le bas cette formule va ramener toutes les
données horizontale de la ligne 1 dans les cellules verticales de la
colonne A.
Le code à PMO est intéressant lui aussi pour générer des listes
incrémentées sur des colonnes précises. Cette méthode est beaucoup
plus rapide que la fonction à Modeste si l'on veut générer la suite
complète s'étendant de la ligne 1 à la ligne 65536 (soit de A à CRXN )
Maintenant mon petit grain de sel à moi mais complètement inspiré par
les réponses de PMO et Modeste :
a) générer avec la fonction de Modeste une liste de la ligne 1 à la
ligne 65536 (soit de A à CRXN)
b) copier/collage spéciale/valeurs de la colonne en question
ou (plus rapide)
- lancer la macro à PMO en définissant la plage A1:A65536 (soit de A à
CRXN)
c) Selon la première réponse de PMO :
Outils/Option/Listes pers./bouton importer/sélection de la colonne en
question/OK
Nous avons générer une nouvelle liste et ça marche !
Maintenant en tirant la cellule on génère des listes incrémentées
comme nous avons pour les jours les semaines etc.
L'incrémentation se fait de manière fluide en minuscules ET en
majuscule, et l'on peut commencer sans autre sur n'importe quelle
ligne à partir de n'importe quelle lettre. Ça fonctionne verticalement
et horizontalement.
Limite :
- Si l'on passe par Liste pers. la série devient redondante au delà de
YY (une liste ne peut pas excéder apparemment 675 entrées sur
l'excellente et irremplaçable version 2003 d'Excel).
- Inutilisable au sein d'une formule.... quoi que...
En inscrivant 'A' en A1 et 'B' en B2 et que l'on tire ça
horizontalement jusqu'en IV, la dernière cellule horizontale des
feuille (sur 2003 et inférieur), et bien l'on a récupérer les en-têt es
des colonnes en ligne 1! Et ça c'est trop bien!
Merci PMO, Merci Modeste, grâce à vous deux j'ai une réponse tout à
fait satisfaisante à ma question, très agréable soirée à vous deux et
à tous les utilisateurs d'Excel 2003. :-))
La fonction à Modeste est effectivement particulièrement utile au sein même d'une formule (pour définir une adresse de colonne) .
Ex : =Indirect(Dec2Alpha(ligne()&1)
Placée en A2 et tirée vers le bas cette formule va ramener toutes les données horizontale de la ligne 1 dans les cellules verticales de la colonne A.
Le code à PMO est intéressant lui aussi pour générer des listes incrémentées sur des colonnes précises. Cette méthode est beaucoup plus rapide que la fonction à Modeste si l'on veut générer la suite complète s'étendant de la ligne 1 à la ligne 65536 (soit de A à CRXN )
Maintenant mon petit grain de sel à moi mais complètement inspiré par les réponses de PMO et Modeste :
a) générer avec la fonction de Modeste une liste de la ligne 1 à la ligne 65536 (soit de A à CRXN) b) copier/collage spéciale/valeurs de la colonne en question
ou (plus rapide)
- lancer la macro à PMO en définissant la plage A1:A65536 (soit de A à CRXN)
c) Selon la première réponse de PMO :
Outils/Option/Listes pers./bouton importer/sélection de la colonne en question/OK
Nous avons générer une nouvelle liste et ça marche !
Maintenant en tirant la cellule on génère des listes incrémentées comme nous avons pour les jours les semaines etc.
L'incrémentation se fait de manière fluide en minuscules ET en majuscule, et l'on peut commencer sans autre sur n'importe quelle ligne à partir de n'importe quelle lettre. Ça fonctionne verticalement et horizontalement.
Limite :
- Si l'on passe par Liste pers. la série devient redondante au delà de YY (une liste ne peut pas excéder apparemment 675 entrées sur l'excellente et irremplaçable version 2003 d'Excel).
- Inutilisable au sein d'une formule.... quoi que...
En inscrivant 'A' en A1 et 'B' en B2 et que l'on tire ça horizontalement jusqu'en IV, la dernière cellule horizontale des feuille (sur 2003 et inférieur), et bien l'on a récupérer les en-têt es des colonnes en ligne 1! Et ça c'est trop bien!
Merci PMO, Merci Modeste, grâce à vous deux j'ai une réponse tout à fait satisfaisante à ma question, très agréable soirée à vous deux et à tous les utilisateurs d'Excel 2003. :-))
Sundow
Modeste
Bonsour® avec ferveur ;o))) vous nous disiez :
La fonction à Modeste est effectivement particulièrement utile au sein même d'une formule (pour définir une adresse de colonne) . Ex : =Indirect(Dec2Alpha(ligne()&1) pour connaitre la lettre de la colonne courante,
Bonsour® d.sundow@yahoo.com avec ferveur ;o))) vous nous disiez :
La fonction à Modeste est effectivement particulièrement utile au sein
même d'une formule (pour définir une adresse de colonne) .
Ex :
=Indirect(Dec2Alpha(ligne()&1)
pour connaitre la lettre de la colonne courante,
La fonction à Modeste est effectivement particulièrement utile au sein même d'une formule (pour définir une adresse de colonne) . Ex : =Indirect(Dec2Alpha(ligne()&1) pour connaitre la lettre de la colonne courante,
pour connaitre la lettre de la colonne courante, il vaut mieux utiliser : =SUBSTITUE(ADRESSE(1;COLONNE();4);"1";"") ;o)))
Bonsoir Modeste,
Exellent très cher, excellent.
Je me permets toutefois quelques commentaires.
Il ne s'agissait là que d'une application et non du fond de ma question. Aussi si je n'avais pas formulé la question tel que je l'ai fait :
1) à l'heure qu'il est, je ne saurais toujours pas comment créer et importer une liste 2) je n'aurais pas votre impressionnante fonction ni dans mon classeur de macro ni comme sujet d'étude 3) de même que la macro de PMO 4) de même que la formule de Philippe.R (Êr(ligne()+96) ) que j'ignorais et que je garde bien au chaud dans ma musette (et que j'ai omi de remercier plus haut je m'en excuse, merci Philippe à vous aussi) 5) et surtout je n'aurais pas passé une journée ma foi bien sympathique en votre compagnie
En dernier lieu, très cher Modeste, je dirais ceci
Si vous m'aviez tout de suite livré la formule suivante :
=SUBSTITUE(ADRESSE(1;COLONNE()+LIGNE()-1;4);"1";"") placée en A1
je ne vous eusse point embêté plus longtemps.
:o)))
Bonsoir... et merci à vous tous - vraiment - sundow
pour connaitre la lettre de la colonne courante,
il vaut mieux utiliser :
=SUBSTITUE(ADRESSE(1;COLONNE();4);"1";"")
;o)))
Bonsoir Modeste,
Exellent très cher, excellent.
Je me permets toutefois quelques commentaires.
Il ne s'agissait là que d'une application et non du fond de ma
question. Aussi si je n'avais pas formulé la question tel que je l'ai
fait :
1) à l'heure qu'il est, je ne saurais toujours pas comment créer et
importer une liste
2) je n'aurais pas votre impressionnante fonction ni dans mon classeur
de macro ni comme sujet d'étude
3) de même que la macro de PMO
4) de même que la formule de Philippe.R (=car(ligne()+96) ) que
j'ignorais et que je garde bien au chaud dans ma musette (et que j'ai
omi de remercier plus haut je m'en excuse, merci Philippe à vous
aussi)
5) et surtout je n'aurais pas passé une journée ma foi bien
sympathique en votre compagnie
En dernier lieu, très cher Modeste, je dirais ceci
Si vous m'aviez tout de suite livré la formule suivante :
=SUBSTITUE(ADRESSE(1;COLONNE()+LIGNE()-1;4);"1";"") placée en A1
je ne vous eusse point embêté plus longtemps.
:o)))
Bonsoir... et merci à vous tous - vraiment - sundow
pour connaitre la lettre de la colonne courante, il vaut mieux utiliser : =SUBSTITUE(ADRESSE(1;COLONNE();4);"1";"") ;o)))
Bonsoir Modeste,
Exellent très cher, excellent.
Je me permets toutefois quelques commentaires.
Il ne s'agissait là que d'une application et non du fond de ma question. Aussi si je n'avais pas formulé la question tel que je l'ai fait :
1) à l'heure qu'il est, je ne saurais toujours pas comment créer et importer une liste 2) je n'aurais pas votre impressionnante fonction ni dans mon classeur de macro ni comme sujet d'étude 3) de même que la macro de PMO 4) de même que la formule de Philippe.R (Êr(ligne()+96) ) que j'ignorais et que je garde bien au chaud dans ma musette (et que j'ai omi de remercier plus haut je m'en excuse, merci Philippe à vous aussi) 5) et surtout je n'aurais pas passé une journée ma foi bien sympathique en votre compagnie
En dernier lieu, très cher Modeste, je dirais ceci
Si vous m'aviez tout de suite livré la formule suivante :
=SUBSTITUE(ADRESSE(1;COLONNE()+LIGNE()-1;4);"1";"") placée en A1
je ne vous eusse point embêté plus longtemps.
:o)))
Bonsoir... et merci à vous tous - vraiment - sundow