je voudrais savoire si il est possible de placer des donneés dans un tableau qui contient les douze mois de l'année en colonne en fonction de l'affichage d'une cellule ?
Je m'explique j'ai créer un tableau qui va me servire à entrer le chiffre d'affaire de clients . se tableau ext constituer d'une colonne avec le nom du client et de douze autres èquivalantes au mois de l'année . je voudrais quand fonction du mois de la facture le montant s'affiche dans la colonne du mois corespondant .
EX: si le mois "janvier" le montant s'affiche dans la colonne "janvier"
Si le mois "avril "le montant s'affiche dans la colonne "avril"
Ainssi de suite
Les colonnes vont de BàM
Le cellule de ref : est E20
Les deux parties étant siué dans deux classeurs different
Le premier nomé "FACTURE .XLS "
Le second nomé "CA.xls "
l'enregistrement devant s'effectuer à partir d'un userform situé dans le premier classeur .
Je mettrais un ficher plustard (Pas le temps pour l'instant ) , mais si quelqu'un à une idée de procédure se serais sympas . je vous remercie toutes et tous par avance et vous dis à plus sur se post . vous souhaitant un bon dimanche BR44
Je te pris de m'excuser pour l'oublie ,et je te remerçie pour la rapidité de ta rèponse .
Je te joint le fichier complèter (cette fois si ) en espèrant que je ne suis pas tromper
Si il y a un problème n'hésite pas à modifier . l'oublie venant du fait que je n'arrivait pas à entrer le Nom du client correctement j'en ai zapper le reste.
Je te dis à bientôt sur se post et merçi d'avance. Br44
je ne sais pas se qui se passe ,pour ma part j'arrive à l'ouvrir sans problème ?
cela viendrais peut-être du fait que le fichier à ètè zip avec winrare ?
bon autrement je te mets à la suite le programe du bouton enregistre tu pour le mettre dans la première version du fichier joints au dèbut de se post .
Private Sub CommandButton2_Click() 'Bouton "ENREGISTRER"
'Déclare le Chemin2 vers "SC.xls"
Dim Chemin2 As String
'Dèclare la variable Wb4
Dim Wb3 As Workbook
Dim Wb2 As Workbook
'Declare la Variable C
Dim C As String
'Declare la Variable MP
Dim MP As Range
'Declare la Variable R
Dim R As Range
'Dèfinit la varible Client
C = ActiveSheet.Range("G9").Value
'Dèfinit la varible Chemin2
Chemin2 = "C:\RAPID\GESTION\Sc.XLS"
'Dèfinit la varaible Wb3 et Wb2
Set Wb3 = Workbooks.Open(Chemin2)
Set Wb2 = ThisWorkbook
'Dèfinit la varible Client
Set MP = Workbooks("SC.XLS").Sheets("SuiviCE").Range("A4:A" & Range("A65536").End(xlUp).Row)
'Boucle sur la plage R et MP
For Each R In MP
'Défintit la condition de la plage p
If R.Value = C Then
'Définit et envoie les valeures vers le classeur "SC.XLS"
With Wb2.Sheets("FactureUnique")
.Range("E20").Copy
End With
R.Offset(0, 3).PasteSpecial xlPasteValues
With Wb2.Sheets("FactureUnique")
.Range("C16").Copy
End With
R.Offset(0, 4).PasteSpecial xlPasteValues
With Wb2.Sheets("FactureUnique")
.Range("F12").Copy
End With
R.Offset(0, 5).PasteSpecial xlPasteValues
With Wb2.Sheets("FactureUnique")
.Range("G38").Copy
End With
R.Offset(0, 6).PasteSpecial xlPasteValues
'Sort de la boucle
Exit For
'Fin de Condition
End If
'Sort de la plage R
Next R
Application.CutCopyMode = False
'Enregistre les données du classeur "SC.XLS"
Wb3.Save
'Ferme le Classeur "SC.XLS"
Wb3.Close
'Déclare le Chemin3 vers "CA.xls"
Dim Chemin3 As String
'Dèclare la variable Wb3
Dim Wb4 As Workbook
'Dèclare la variable X
Dim X As Range
'Dèfinit la varible Chemin3
Chemin3 = "C:\RAPID\GESTION\CA.XLS"
'Dèfinit la varaible Wb3 et Wb2
Set Wb4 = Workbooks.Open(Chemin3)
'Définit la variable X
Set X = Wb4.Sheets("ChiffreCE").Range("A8:A32" & Range("A65536").End(xlUp).Offset(1, 0).Row).Find(NomClient.Value, , xlValues, xlWhole, , , , False)
'j'envoie les infos des clients uniques vers le classeur"CA.XLS"
If Mois.ListIndex <> -1 Then X.Offset(0, Mois.ListIndex + 2).Value = CDbl(Wb2.Sheets("FactureUnique").Range("G38").Value)
End If
End With
End If
'Enregistre les données du classeur "SC.XLS"
Wb4.Save
'Ferme le Classeur "SC.XLS"
Wb4.Close
End Sub
Sur ce je te quitte pour se soir et te renouvels mes remerciments pour ta patience et ta rapoiditée . A bientôt sur se fil. Br44
P.s : Si tu veux WInRare tu peux le tèlècharger sur "Tèlèchargement .net" c'est un logiciel gratuit . bonne soirée BR 44
oui je n'ais pas "winrare" d'installé, ceci explique cela. Merci pour le lien, mais j'installe un minimum de petits utilitaires sur mon ordi. Et en l'état je n'en ai pas besoin.
Pour zippé sinon, dans l'explorateur => click droit sur le fichier= => envoyé vers => dossier compréssé. Cela permet à tous d'accéder au fichier.
regarde la ligne ci dessous, il me semble qu'il y a une anomalie :
Code:
Set X = Wb4.Sheets("ChiffreCE").Range("A8:A32" & Range("A65536").End(xlUp).Offset(1, 0).Row).Find(NomClient.Value, , xlValues, xlWhole, , , , False)
remplace par :
Code:
With Wb4.Sheets("ChiffreCE")
Set X = .Range("A8:A" & .Range("A65536").End(xlUp).Offset(1, 0).Row).Find(NomClient.Value, , xlValues, xlWhole, , , , False)
End With
mais bon, peut être rien à voir avec le problème qui te préoccupe.
Bon je teste et te tient au courant . Mais en refléchissant ne faudrait-il pas que je rajoute la "RefClient" qui elle figure sur la facture contrairement au" Nom du Client " qui lui ne figure pas sur cette dernière ?
En fin c'est une idée qui me vient comme ça ?
Sur se je te remercie pour ta rèponse et te dis à plus sur se poste ,à bientôt Br44
Ce petit message pour m'exuser du temps mis à données suite .
Après avoire tester ta modif qui n'as pas fonctioner ,j'ai essayer d'addapter une procèdure dèja existante mais qui fonctionnais pour une copie sur plusieur feuilles ,et ça marche . Il ne restait plus cas addapter ta procèdure pour la seconde partie et cela fonctionne aussi .
Je tiens à te remercier pour le coup de main ainsi que tous ceux qui ont participer à ce poste ,mais ègalement tous ceux et toutes celles qui ont pris le temps de le lire .
vous trouverez ci-joint un fichier contenant la partie de la procèdure consernée par se poste . En esperant que cela rendre service à plusieur d'entre vous .
En conclusion je vous dis à bientôt sur le forum et un grand merçi à tous .
Amicalement BR44
P.S : Le problème ètant rèsolu cela mais fin à ce post . BR44