Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Faire un tableau en partant de données dans la même cellule

3 réponses
Avatar
andré
Bonjour,

J'ai en A5 le nom, en B5 le montant.
En A1 la cellule qui reçoit le nom, en B1la cellule du montant.

Je voudrais que le nom tapé en A1 se reporte en A5, que le second nom aille
en A6, etc
Idem pour que les valeurs mises en B1 se reporte en B5, que la seconde
valeur aille en B6, etc

Ceci en utilisant le lange de base excel2000 avec XP. Pas de macro
Si quelqu'un a une idée, merci.

3 réponses

Avatar
Quetzalcoatl
Bonsoir,

La macro suivante, où l'entier i (resp. j) contient le nombre d'entrée dans la cellule A1 (resp. B1), également mémorisé sous le nom
"A" (resp. "B"), est à placer comme code de Feuil1 :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i, j As Integer
Application.EnableEvents = False
If Target.Address = [A1].Address Then
i = Right(ActiveWorkbook.Names("A").Value, Len(ActiveWorkbook.Names("A").Value) - 1)
Cells(i, Target.Column).Value = [A1].Value
ActiveWorkbook.Names.Add Name:="A", RefersToR1C1:="=" & i + 1
End If
If Target.Address = [B1].Address Then
j = Right(ActiveWorkbook.Names("B").Value, Len(ActiveWorkbook.Names("B").Value) - 1)
Cells(j, Target.Column).Value = [B1].Value
ActiveWorkbook.Names.Add Name:="B", RefersToR1C1:="=" & j + 1
End If
Application.EnableEvents = True
End Sub

La macro suivante est à placer dans un module et à lancer une fois pour toutes pour initialiser "A" et "B".
Sub INITIALISATION()
ActiveWorkbook.Names.Add Name:="A", RefersToR1C1:="=5"
ActiveWorkbook.Names.Add Name:="B", RefersToR1C1:="=5"
End Sub

Si on veut :
Outils > Options... > Modification > décocher : Déplacer la sélection après validation

------------

"andré" a écrit dans le message de news: ff321v$amn$
Bonjour,

J'ai en A5 le nom, en B5 le montant.
En A1 la cellule qui reçoit le nom, en B1la cellule du montant.

Je voudrais que le nom tapé en A1 se reporte en A5, que le second nom aille en A6, etc
Idem pour que les valeurs mises en B1 se reporte en B5, que la seconde valeur aille en B6, etc

Ceci en utilisant le lange de base excel2000 avec XP. Pas de macro
Si quelqu'un a une idée, merci.



Avatar
lSteph
Bonjour,

C'est bien le "pas de macro" qui m'arrêtait!

La macro qui t'a été proposée me semblait faire ce que j'avais compris
de ta demande initiale

Est-il possible de le faire avec SI
selon toute probabilité de ce qui serait envisageable de prêter au

sens de ta demande qui me semble réalisable avec un Si...
Si c'était cela c'est beaucoup plus simple un signe égal suffit:

en a5 tu écris = A1
et quand tu entres quelque chose en A1, cela s'écrit aussi en A5.

... que le second nom aille
en A6, etc


Plus qu'à recopier cette formule en b5
puis vers le bas
ainsi celle qui vient en second (A2) ira en A6 et B2 en B6

Cordialement.

--
lSteph

On 19 oct, 17:00, "andré" wrote:
Merci pour la réponse, mais je ne voudrais pas utiliser le VBA.
Est-il possible de le faire avec SI


Avatar
andré
Merci pour la réponse, mais je ne voudrais pas utiliser le VBA.
Est-il possible de le faire avec SI