Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Modification de boucle

br44

XLDnaute Impliqué
Bonjours le forum

Voila mon petit soussi j'ai un program qui me permet de copier automatiquement mes données de mon fichier "facture" vers mon fichier "SuiviClient " .Ses èlèments sont le N° de facture ,la dates de la facture,et le montant de la facture. J'ai certain client qui me demande une facture par prestations ,hors à la base du programe cela n'ètait pas prèvu.
je voudrais donc savoir si il est possible de modifier mon program pour qu'il prenne en compte les èlèments des factures annex pour les copier dans le fichier "suiviClient" en face du client conserné.
Malgré mais tentative de modifier le programme mais cela à èchouè .
je me tourne donc vers vous dans l'espoir que vous pourez m'aider à rèsoudre se petit problème .

les informations à copier sont :
1 - Pour la "refClient" :"C16"
2 - les feuilles consernées : Sheets"AnnexFacture1" et "AnnexFacture2"
3- les cellules : sont les mêmes que pour la feuille "Facture" C'est-à-dire ("C16",F12","G39")
4- Pour la "refClient" :"C17" il n'y a que la feuille "AnnexFacture1" à ajouter

Ci-joint le programme conserné :

'Déclare le Chemin2 vers "SC.xls"
Dim Chemin2 As String
'Dèclare la variable Wb4
Dim Wb4 As Workbook
'Declare la Variable C
Dim C As String
'Declare la Variable MPl
Dim MP As Range
'Declare la Variable R
Dim R As Range


'Dèfinit la varible Client
C = Workbooks("F.Xls").Sheets("Détail").Range("G3").Value
'Dèfinit la varible Chemin2
Chemin2 = "C:\RAPID\GESTION\Sc.XLS"
'Dèfinit la varaible Wb4
Set Wb4 = Workbooks.Open(Chemin2)
'Dèfinit la variable MaPlage
Set MP = Workbooks("SC.xls").Sheets(Mois).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("Facture")
.Range("C16").Copy
End With
R.Offset(0, 3).PasteSpecial xlPasteValues

With Wb2.Sheets("Facture")
.Range("F12").Copy
End With
R.Offset(0, 4).PasteSpecial xlPasteValues

With Wb2.Sheets("Facture")
.Range("G39").Copy
End With
R.Offset(0, 5).PasteSpecial xlPasteValues

'Sort de la boucle
Exit For
'Fin de Condition
End If
'Sort de la plage p
Next R

Application.CutCopyMode = False
'Enregistre les données du classeur "SC.XLS"

Wb4.Save
'Ferme le Classeur "SC.XLS"
Wb4.Close

Vous remerciant par avance de l'aide que vous pourez m'apporter je vous dit à plus sur ce fil.
br44
End Sub
 

Luki

XLDnaute Accro
Re : Modification de boucle

bonsoir br,

Peut-être pourrais tu nous indiquer ta macro bugge. En l'absence des fichiers, ce serait plus simple pour chercher.

Néanmoins une piste en début de boucle : For Each R In MP.cells pourrait t'aider si c'est là que ça pêche...

A te lire
 

br44

XLDnaute Impliqué
Re : Modification de boucle

Bonsoir LUKI ,le forum

Merci à toi pour t'as rèponse . je suis dèsole mais j'ai omis de mettre la partie du program qui me pose un problème .

le voici:

With Wb2.Sheets("AnnexFacture1")
.Range("C16").Copy
End With
R.Offset(1, 3).PasteSpecial xlPasteValues

With Wb2.Sheets("AnnexFacture1")
.Range("F12").Copy
End With
R.Offset(1, 4).PasteSpecial xlPasteValues

With Wb2.Sheets("AnnexFacture1")
.Range("G39").Copy
End With
R.Offset(1, 5).PasteSpecial xlPasteValues


le problème est que le passage à la suivante ne se fait pas au niveau du non du client rèfèrencè :"C16" pour qu'il affiche les reseignemnts à leurs place .

je joint un petit fichier dans laquelle vous trouverez un shèmat explicatif qui j'èspère vous permetra de comprendre se que je voeux obtenir .
SI vous avez besoin d'explication supplèmentaires je reste disponible pour y rèpondre .

En vous remerciant par avance pour votre aide je vous dis à plus sur ce fil .
Br44
 

Pièces jointes

  • Nouveau Feuille de calcul Microsoft Excel.xls
    20 KB · Affichages: 55
  • Nouveau Feuille de calcul Microsoft Excel.xls
    20 KB · Affichages: 56
  • Nouveau Feuille de calcul Microsoft Excel.xls
    20 KB · Affichages: 56

Luki

XLDnaute Accro
Re : Modification de boucle

Re Br,

J'ai regardé ton exemple, je te fais part de mes remarques.
  1. Il faut absolument éviter la fusion de cellules si tu crées une table de données: 1 ligne = 1 élément, dans ton cas si tu édites plusieurs factures pour un client, il faut 1 ligne par facture. sinon c'est vite ingérable.
  2. En appliquant le principe ci-dessus, tu pourras utiliser aussi les outils xl standard pour ton suivi de factures: Assistant modèle, TCD etc...
  3. Si tu dois faire une facture pour chaque sous prestation, il convient d'ajouter une colonne à ta table par ex : client/adresse/prestation/prestation_annexe/date etc, si j'ai compris
  4. Pour mettre une adresse sur 3 lignes, pas la peine d'ajouter des espaces ! un simple ALT+ENTREE suffit à créer un retour à la ligne dans ta cellule. ( nom_sté ALT+Entree rue ALT+Entree ville)
En conclusion, je te dirais de ne pas te compliquer la vie avec ta boucle, mais de remanier ton fichier de factures, si j'ai bien compris. Mais sans les fichiers utilisés, difficile de me faire une idée précise.

Voilà
A te lire
 
Dernière édition:

br44

XLDnaute Impliqué
Re : Modification de boucle

re: Bonjour LUKI , le Forum

j'ai bien reçu t'on message et je prend actes des observations .

j'ai un petite questions : Est-il possible d'inserer un ligne automatiquement ,copier les èlements , puis fusionner et fermer le tout aprés avoir rechercher le nom correspondant?

Merci d'avance pour la réponses et je te dis à bientôt .
br44
 

br44

XLDnaute Impliqué
Re : Modification de boucle

re : rebonjour Luki

Bon j'ai suivi t'on conseil j'ai donc modifier leFichier "Sc.Xls " en ajoutant des colonnes supplèmantaires . Ca marche seulement il faut que je rentre une condition dans ma boucle pour que les résultats s'affiche uniquement pour les clients consernès . pourrait-tu me dire où la placer et sous quelle forme .
Merci d'avance pour la rèponse et à plus sur se fil .
br44
 

Luki

XLDnaute Accro
Re : Modification de boucle

Re Br (Brrrrrrrrrrrrrr putôt, car l température commence à descendre !)

Pour avancer, il serait bien que tu mettes en Pj, tonfichier Sc.xls avec le code et aussi éventuellement ton modèle de facture, tout ça sans données confidentielle, je comprendrai mieux ce que tu veux faire et comment tu le fais!

Plus quelques infos : je fais comme ça, j'ai ça et je veux faire ça...

A +
 

br44

XLDnaute Impliqué
Re : Modification de boucle

re: Bonsoir LUKI ,le forum

comme prevu voici un dossier rèsumant t'as demande .
désole pour l'heure tardive mais il à falu que je bricole un truc cohèrent
J'èspère que cela sufisant car mon fichier principal est trop important , ayant plusiueur liaisons avec plusieurs classeurs diffèrent .

A savoire : les 3 modelés de factures mis sont lier aux classeur principal nomé "F.xls"
le classeur "SC.XLS" lui n'a pas de program .

Il faut donc partir de "F.xls "vers "Sc.XLS"

j'ai omis de mêttre cette info dans le dossier (he! oui quand on n'a pas de tête ont n'a des jambes!) .

Bon alors je dis à plus sur se fil .
BR44
 

Pièces jointes

  • dossierLUKI.zip
    13.9 KB · Affichages: 30

Luki

XLDnaute Accro
Re : Modification de boucle

Bonsoir le fil ,Br

J'ai regardé un peu ton projet, mais je n'ai pas eu beaucoup de temps à y consacrer et je dois dire que je n'ai pas bien compris ta démarche globale.

J'ai fait quelques test, mais c'est délicat n'ayant pas tous les éléments externes.

je reviens dès que j'ai un moment.

Bonne soirée
 

br44

XLDnaute Impliqué
Re : Modification de boucle

re: Bonsoir LUKI , le forum

ce petit message pour vous dire que je m'excuses du temps mis pour rèpondre . J'ai reconfigurer mon ordi et j'ai passè plus de temps que prèvus .
je prend donc acte de ton dernier message et te signal que je suis de nouveaux prêt à rèpondre à toutes les questions que tu te poses .
En espèrant de t'es nouvelles je te dis à plus sur se fil de nouveau actif .
Milles merci encore pour t'as patiences BR44
 

br44

XLDnaute Impliqué
Re : Modification de boucle

re: bonjour à tous et toutes

ce petit message pour vous dire que je n'ai toujour pas de solution pour mon problème ,mais je relance un nouveau sujet qui mets donc fin à ce fil .

Merci à tous ceux et toutes celles qui ont pris le temps de s'arreter sur se post et merci beaucoup à luki pour ses conseil et ses pistes à bientôt donc sur un nouveau post .
br44
 

br44

XLDnaute Impliqué
Re : Modification de boucle

re: Bonsoir Luki , le forum

Pour faire suite à mon dernier message (sur ta messagerie privé) je joint un dossier rèsumant mes avancèes .

je te dis donc à plus sur se fil
BR44
 

Pièces jointes

  • Copie de dossierLUKI1.zip
    13.8 KB · Affichages: 24

Discussions similaires

Réponses
1
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…