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

Automatisation de la taille d'une base de données pour un TCD

3 réponses
Avatar
Jacques Gronier
Bonjour,
Pour une gestion des stocks avec consommations, je récupère une base de
données comprenant tous les mouvements.
Sous la forme
Colonne A Référence
Colonne B Libellé
Colonne C Quantité ( positif si entrée, négatif pour une sortie)
J'ai une macro de base qui crée une colonne "sens mouvement", Entrée ou
Sortie => déjà là je ne sais pas comment imposer la recopie vers le bas
jusqu'à la dernière ligne
Sub Sens_sur_BPM()
'
' Mise en place d'une colonne mouvement avec formule pour le sens du mvt
Range("J1").Select
ActiveCell.FormulaR1C1 = "Sens_mvt"
Range("J2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-4]>0,""Entrée"",""Sortie"")"
Range("J2").Select

End Sub

Je suis obligé de faire un "recopier vers le bas" à la mimine....

Ensuite pour faire la synthèse des données, je fais un TCD reprenant
Réference Libelle Somme Entrées Sommes Sorties Total
Je souhaiterais pouvoir automatiser cette procédure et donc savoir comment
indiquer d'aller chercher les cellules non vides de la base de données.

D'avance, je vous remercie

--
Bien Cordialement

Jacques Gronier

3 réponses

Avatar
JB
On 29 sep, 15:40, "Jacques Gronier" wrote:
Bonjour,
Pour une gestion des stocks avec consommations, je récupère une base de
données comprenant tous les mouvements.
Sous la forme
Colonne A Référence
Colonne B Libellé
Colonne C Quantité ( positif si entrée, négatif pour une sortie)
J'ai une macro de base qui crée une colonne "sens mouvement", Entrée ou
Sortie => déjà là je ne sais pas comment imposer la recopie vers le bas
jusqu'à la dernière ligne
Sub Sens_sur_BPM()
'
' Mise en place d'une colonne mouvement avec formule pour le sens du mvt
    Range("J1").Select
    ActiveCell.FormulaR1C1 = "Sens_mvt"
    Range("J2").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-4]>0,""Entrée"",""Sortie" ")"
    Range("J2").Select

   End Sub



Bonjour,

http://boisgontierjacques.free.fr/fichiers/ChampDynamique.xls

JB
http://boisgontierjacques.free.fr

Je suis obligé de faire un "recopier vers le bas" à la mimine....

Ensuite pour faire la synthèse des données, je fais un TCD reprenant
Réference Libelle  Somme Entrées Sommes Sorties Total
Je souhaiterais pouvoir automatiser cette procédure et donc savoir comm ent
indiquer d'aller chercher les cellules non vides de la base de données.

D'avance, je vous remercie

--
Bien Cordialement

Jacques Gronier


Avatar
Jacques Gronier
Merci beaucoup

--
Bien Cordialement

Jacques Gronier

"JB" a écrit dans le message de news:

On 29 sep, 15:40, "Jacques Gronier" wrote:
Bonjour,
Pour une gestion des stocks avec consommations, je récupère une base de
données comprenant tous les mouvements.
Sous la forme
Colonne A Référence
Colonne B Libellé
Colonne C Quantité ( positif si entrée, négatif pour une sortie)
J'ai une macro de base qui crée une colonne "sens mouvement", Entrée ou
Sortie => déjà là je ne sais pas comment imposer la recopie vers le bas
jusqu'à la dernière ligne
Sub Sens_sur_BPM()
'
' Mise en place d'une colonne mouvement avec formule pour le sens du mvt
Range("J1").Select
ActiveCell.FormulaR1C1 = "Sens_mvt"
Range("J2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-4]>0,""Entrée"",""Sortie"")"
Range("J2").Select

End Sub



Bonjour,

http://boisgontierjacques.free.fr/fichiers/ChampDynamique.xls

JB
http://boisgontierjacques.free.fr

Je suis obligé de faire un "recopier vers le bas" à la mimine....

Ensuite pour faire la synthèse des données, je fais un TCD reprenant
Réference Libelle Somme Entrées Sommes Sorties Total
Je souhaiterais pouvoir automatiser cette procédure et donc savoir comment
indiquer d'aller chercher les cellules non vides de la base de données.

D'avance, je vous remercie

--
Bien Cordialement

Jacques Gronier


Avatar
Jacques Gronier
Bonsoir,
Grace à l'enregistreur, j'ai créé le nom de la plage "base_donnees", ainsi
que cette macro dans perso.xls
par contre , j'ia un blocage au niveau de
ActiveWorkbook.PivotCaches.Create....
Les 4 lignes se retrouvent en surbrillance...

Sub TCD_Auto()
'
' TCD_Auto Macro
'

'
Sheets.Add

ActiveWorkbook.Names.Add Name:="base_donnees", RefersToR1C1:= _
"=OFFSET(Sheet1!R1C1,0,0,COUNTA(Sheet1!C1),14)"
' ActiveWorkbook.Names("base_donnees").Comment = ""
'ActiveWorkbook.Names("base_donnees").RefersToR1C1 = _
'"=OFFSET(Sheet1!R1C1,0,0,COUNTA(Sheet1!C1),14)"

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"base_donnees", Version:=xlPivotTableVersion10).CreatePivotTable _
TableDestination:="Feuil1!L3C1", TableName:="Tableau croisé
dynamique1", _
DefaultVersion:=xlPivotTableVersion10


Sheets("Feuil1").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("Tableau croisé
dynamique1").PivotFields("Ref")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Designation")
.Orientation = xlRowField
.Position = 2
End With
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField
ActiveSheet. _
PivotTables("Tableau croisé dynamique1").PivotFields("Qte"), "Somme
de Qte", _
xlSum
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"sens_mvt")
.Orientation = xlColumnField
.Position = 1
End With
Range("A7").Select
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Ref").
_
Subtotals = Array(False, False, False, False, False, False, False,
False, False, False, _
False, False)
ActiveSheet.PivotTables("Tableau croisé dynamique1").Name = "TCD_MVT"
End Sub

Merci de votre aide

Bien Cordialement

Jacques Gronier




"JB" a écrit dans le message de news:

On 29 sep, 15:40, "Jacques Gronier" wrote:
Bonjour,
Pour une gestion des stocks avec consommations, je récupère une base de
données comprenant tous les mouvements.
Sous la forme
Colonne A Référence
Colonne B Libellé
Colonne C Quantité ( positif si entrée, négatif pour une sortie)
J'ai une macro de base qui crée une colonne "sens mouvement", Entrée ou
Sortie => déjà là je ne sais pas comment imposer la recopie vers le bas
jusqu'à la dernière ligne
Sub Sens_sur_BPM()
'
' Mise en place d'une colonne mouvement avec formule pour le sens du mvt
Range("J1").Select
ActiveCell.FormulaR1C1 = "Sens_mvt"
Range("J2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-4]>0,""Entrée"",""Sortie"")"
Range("J2").Select

End Sub



Bonjour,

http://boisgontierjacques.free.fr/fichiers/ChampDynamique.xls

JB
http://boisgontierjacques.free.fr

Je suis obligé de faire un "recopier vers le bas" à la mimine....

Ensuite pour faire la synthèse des données, je fais un TCD reprenant
Réference Libelle Somme Entrées Sommes Sorties Total
Je souhaiterais pouvoir automatiser cette procédure et donc savoir comment
indiquer d'aller chercher les cellules non vides de la base de données.

D'avance, je vous remercie

--
Bien Cordialement

Jacques Gronier