OVH Cloud OVH Cloud

remplissage automatique

8 réponses
Avatar
guillaumeTSE
Bonjour,
J'ai 3 colonnes de comptes et sous comptes.
Ils se présentent comme suit.


------------Colonne A--------------------
A1 = Compte 1
A2 à A14=vide
A15= total compte 1

---------------Colonne B---------------------------
B1 = vide
B2 = Compte 1.1
B3 à B13 = vide
B14 = Total compte 1.1

-------------------Colonne C--------------------------
C1 et C2 = vide
C3= Compte 1.1.1
C4 à C12 = vide
C13 = total compte 1.1.1

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


Le but ? remplir les cellules vide avec le nom du compte, pour que lorsque tout soit rempli on ai les 3 noms de compte à chaque ligne.

SAUF : lorsque une ligne contient total, alors la cellule total est la seul cellule de la ligne à contenir quelque chose.

Donc à la ligne 13, j'ai:
A13= vide, B13= vide, C13= total compte 1.1.1


Donc à la ligne 14, j'ai
A14 = vide, B14= Total compte 1.1, C14= vide

Ligne 15
A15= total compte 15, B15 = vide, C15= vide

8 réponses

Avatar
MichD
Bonjour,
Publie la feuille de calcul avec quelques exemples de ce que tu veux obtenir
Pour ce faire, utilise l'adresse CJoint.com. Tu nous retournes ici
l'adresse que tu obtiendras.
Tu veux remplir les cellules vides avec un numéro de compte :
Où sont ces numéros de compte?
N.B. Tu peux avoir autant de feuilles de calcul que tu veux dans un
fichier et chacune des feuilles contient un nombre important de
cellules. Je te dis d'emblée que ce n'est pas une bonne idée de vouloir
insérer des totaux dans la même colonne que les données.
Normalement, tu fais un tableau avec toutes tes données et à l'aide de
formules, filtres, ou tableau croisé dynamique, tu peux extraire tout ce
que tu désires que tu places dans un autre tableau ou sur une autre feuille.
MichD
Le 10/04/19 à 09:31, guillaumeTSE a écrit :> Bonjour,
J'ai 3 colonnes de comptes et sous comptes.
Ils se présentent comme suit.
------------Colonne A--------------------
A1 = Compte 1
A2 à A14=vide
A15= total compte 1
---------------Colonne B---------------------------
B1 = vide
B2 = Compte 1.1
B3 à B13 = vide
B14 = Total compte 1.1
-------------------Colonne C--------------------------
C1 et C2 = vide
C3= Compte 1.1.1
C4 à C12 = vide
C13 = total compte 1.1.1
---------------------------------------------------------------
Le but ? ir les cellulesrempl vide avec le nom du compte, pour que

lorsque tout
soit rempli on ai les 3 noms de compte à chaque ligne.
SAUF : lorsque une ligne contient total, alors la cellule total est

la seul
cellule de la ligne à contenir quelque chose.
Donc à la ligne 13, j'ai:
A13= vide, B13= vide, C13= total compte 1.1.1
Donc à la ligne 14, j'ai
A14 = vide, B14= Total compte 1.1, C14= vide
Ligne 15
A15= total compte 15, B15 = vide, C15= vide
Avatar
guillaumetse
Le mercredi 10 Avril 2019 à 15:31 par guillaumeTSE :
Bonjour,
J'ai 3 colonnes de comptes et sous comptes.
Ils se présentent comme suit.
------------Colonne A--------------------
A1 = Compte 1
A2 à A14=vide
A15= total compte 1
---------------Colonne B---------------------------
B1 = vide
B2 = Compte 1.1
B3 à B13 = vide
B14 = Total compte 1.1
-------------------Colonne C--------------------------
C1 et C2 = vide
C3= Compte 1.1.1
C4 à C12 = vide
C13 = total compte 1.1.1
---------------------------------------------------------------
Le but ? remplir les cellules vide avec le nom du compte, pour que lorsque tout
soit rempli on ai les 3 noms de compte à chaque ligne.
SAUF : lorsque une ligne contient total, alors la cellule total est la seul
cellule de la ligne à contenir quelque chose.
Donc à la ligne 13, j'ai:
A13= vide, B13= vide, C13= total compte 1.1.1
Donc à la ligne 14, j'ai
A14 = vide, B14= Total compte 1.1, C14= vide
Ligne 15
A15= total compte 15, B15 = vide, C15= vide
Bonjours,
Voici le lien. https://www.cjoint.com/c/IDlitET2CLF
Première feuille est le document d'origine et le deuxième a quoi il devrait ressembler
Le but finale est d'avoir a chaque ligne un numéro de compte pour pouvoir tracer au mieux les transactions. (dans un TCD)
Le but serait d'insérer trois colonnes et d'avoir des formules dans ces trois nouvelles colonnes qui me donnent les colonnes des comptes " sans trous".
Avatar
MichD
J'ai lu rapidement ta question, car je n'ai peu de temps ce matin pour
cela.
La colonne A de la feuil2 est remplie avec des numéros de compte. Où
sont les numéros de comptes pour les comptes des colonnes B et C de la
même feuille qui sont actuellement vides?
Désolé, je ne comprends pas ta question!
MichD
Avatar
Jacquouille
Bonjour Denis
J'ai ouvert le doc en question et me suis posé la même question (plus
beaucoup d'autres).
Je crois que, en faisant un filtre sur la col A, rien que les cel non vides,
les num de comptes vont apparaître.
mais, il y a des somme de bilan au milieu d tout cela ....
Bonne lecture.
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"MichD" a écrit dans le message de groupe de discussion :
q8n6cp$124j$
J'ai lu rapidement ta question, car je n'ai peu de temps ce matin pour
cela.
La colonne A de la feuil2 est remplie avec des numéros de compte. Où
sont les numéros de comptes pour les comptes des colonnes B et C de la
même feuille qui sont actuellement vides?
Désolé, je ne comprends pas ta question!
MichD
Avatar
Jacquouille
Bonjour
Je viens de pondre ceci, mais c'est très loin de ce que je crois que le
demandeur attend.
A lui de préciser....
--------------------------------
Sub remplissage_by_GuillaumeTSE()
Dim Plg As Range
Set Plg = Worksheets("feuil1").Range("A2:A19865")
For Each c In Plg
If c.Value <> "" Then
If c.Offset(1, 0).Value = "" Then
c.Offset(1, 0).Value = c.Value
End If
End If
Next
End Sub
-----------------------------
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Jacquouille" a écrit dans le message de groupe de discussion :
q8ni4h$ojt$
Bonjour Denis
J'ai ouvert le doc en question et me suis posé la même question (plus
beaucoup d'autres).
Avatar
Jacquouille
Re
Un peu moins lourd:
-------------------------------
Sub remplissage_by_Guillaume_2()
Dim Plg As Range
Set Plg = Worksheets("feuil1").Range("A2:A19865")
For Each c In Plg
If c.Value <> "" And c.Offset(1, 0).Value = "" Then
c.Offset(1, 0).Value = c.Value
End If
Next
End Sub
---------------------------------
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Jacquouille" a écrit dans le message de groupe de discussion :
q8t3s6$1p6u$
Bonjour
Je viens de pondre ceci, mais c'est très loin de ce que je crois que le
demandeur attend.
A lui de préciser....
--------------------------------
Sub remplissage_by_GuillaumeTSE()
Dim Plg As Range
Set Plg = Worksheets("feuil1").Range("A2:A19865")
For Each c In Plg
If c.Value <> "" Then
If c.Offset(1, 0).Value = "" Then
c.Offset(1, 0).Value = c.Value
End If
End If
Next
End Sub
-----------------------------
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Jacquouille" a écrit dans le message de groupe de discussion :
q8ni4h$ojt$
Bonjour Denis
J'ai ouvert le doc en question et me suis posé la même question (plus
beaucoup d'autres).
Avatar
MichD
Bonjour Jacques,
Ta procédure est bien, mais si la plage est grande, cela peut prendre un
peu de temps.
Je t'en propose une autre, sans boucle. Tu adaptes le nom de la feuille
à 2 endroits et l'adresse de la plage initiale.
'------------------------------------------------------------
Sub test()
Dim Rg As Range, T As Variant
Dim DerLig As Long
Application.ScreenUpdating = False
Application.EnableEvents = False
With Worksheets("Feuil1")
DerLig = .Range("A" & .Rows.Count).End(xlUp).Row
Set Rg = .Range("A1:A" & DerLig).SpecialCells(xlCellTypeBlanks)
End With
Rg.Formula = "=" & Rg(1).Offset(-1).Address(0, 0)
With Worksheets("Feuil1")
With .Range("A1:A" & DerLig)
T = .Value
.Value = ""
.Value = T
End With
End With
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
'------------------------------------------------------------
MichD
Avatar
MichD
J'ai omis de mentionner que si ta colonne de cellules ne contient pas de
cellules vides, cela générera une erreur. La procédure ne contient pas
de gestion d'erreur.
MichD