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

copier sur autre feuille

4 réponses
Avatar
PascalBar
Bonjour,
sous 2007

avec cette procédure:

Sheets("Temp").[A2:D1000].ClearContents
Ligne = 2
For i = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(i) = True Then
Sheets("Temp").Cells(Ligne, 1) = Me.ListBox1.List(i)
Sheets("Temp").Cells(Ligne, 2) = Me.ListBox1.List(i, 1)
Sheets("Temp").Cells(Ligne, 3) = Me.ListBox1.List(i, 4)
Sheets("Temp").Cells(Ligne, 4) = Me.ListBox1.List(i, 3)
Ligne = Ligne + 1
End If
Next i

Je copie des données (de facturation)d'une listBox sur une feuille

J'aimerais ensuite qu'a partir du moment ou sur la feuille temp on a un
numéro de facture, sur l'onglet facture on ajoute reglé en H sur la
ligne correspondante.

Merci
Pascal

4 réponses

Avatar
michdenis
Bonjour,

Il est difficile de répondre à ta question à cause de la formulation de ta question.

Quand tu écris du code, c'est toi qui est le boss et c'est toi qui décide
ce qui doit se passer et comment ça doit se dérouler alors au lieu
d'écrire "J'aimerais ensuite qu'a partir du moment ou sur la feuille temp "

De façon opérationnelle, quand veux-tu ajouter le numéro de facturation ?
Comment fais-tu pour ajouter ce numéro ? Par macro ? Manuellement ?

Dans ta feuille où (l'adresse de la cellule) s'inscrit le numéro de facturation ?
Si j'ai bien compris, c'est sur cette ligne que tu veux afficher le mot "Réglé"
en colonne H ?

Comme nous n'avons pas ton application sous les yeux, Il est difficile de
répondre car tu nous donnes pas l'information pertinente dans ta question.
Avatar
PascalBar
michdenis a écrit :
Bonjour,

Il est difficile de répondre à ta question à cause de la formulation de ta question.

Quand tu écris du code, c'est toi qui est le boss et c'est toi qui décide
ce qui doit se passer et comment ça doit se dérouler alors au lieu
d'écrire "J'aimerais ensuite qu'a partir du moment ou sur la feuille temp "

De façon opérationnelle, quand veux-tu ajouter le numéro de facturation ?
Comment fais-tu pour ajouter ce numéro ? Par macro ? Manuellement ?

Dans ta feuille où (l'adresse de la cellule) s'inscrit le numéro de facturation ?
Si j'ai bien compris, c'est sur cette ligne que tu veux afficher le mot "Réglé"
en colonne H ?

Comme nous n'avons pas ton application sous les yeux, Il est difficile de
répondre car tu nous donnes pas l'information pertinente dans ta question.






effectivement en me relisant je n'ai pas été clair.
J'ai un useform avec listBox.
La liste box est alimenté par un filtre sur une combo.
La Liste est multi select et m'affiche 5 cols date Num Fact, Ht
TVA etc
J'ai une macro qui me copie les données sélectionnées de la listbox sur
une feuille "temp"

Je voudrais qu'ensuite avec une boucle, qd les lignes dont les numéros
de facturation sont identiques sur la temp et sur une feuille
facturation, une macro m'affiche réglé sur l'onglet Factures en col H
J'ai essayé un truc du genre

set f= sheets("temp")
[NumFactures]
For each c in [Numfactures]
If c.value=[recup].value then
c.offset(0,5).value =....
End If
Next c

Recup étant une zone dynamique de l'onglet facturation et correspondant
aux N° de Facture

Je ne sais pas si je suis plus clair.
Merci
Pascal
Avatar
michdenis
En supposant que j'ai compris ta question...
voici une façon de faire..

Je suppose que tu as dans cette procédure, une ligne
qui inscrit le numéro de la facture sur la feuille Temp
Je ne sais pas qu'elle la colonne de ton listbox qui
contient le numéro de facturation mais....
'--------------------------------
Sheets("Temp").[A2:D1000].ClearContents
Ligne = 2
For i = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(i) = True Then
Sheets("Temp").Cells(Ligne, 1) = Me.ListBox1.List(i)
Sheets("Temp").Cells(Ligne, 2) = Me.ListBox1.List(i, 1)
Sheets("Temp").Cells(Ligne, 3) = Me.ListBox1.List(i, 4)
Sheets("Temp").Cells(Ligne, 4) = Me.ListBox1.List(i, 3)
Ligne = Ligne + 1
End If
Next i
'--------------------------------

Tu peux ajouter à cette procédure après cette ligne
Sheets("Temp").Cells(Ligne, 4) = Me.ListBox1.List(i, 3)


ceci :
'Variable à mettre en début de procédure
Dim Adr As String
Dim No As Long, X As Variant

'Supposons que tu Me.ListBox1.List(i, 3) contient le numéro
'de facture dans ta boucle
No = Me.ListBox1.List(i, 3)
'adapte la plage où sont tes numéros de factures dans
'l'onglet facture.
Adr = "Factures!A1:A6"

'Cette formule te retourne le numéro de la ligne où se
'retrouve le numéro de facture que tu viens de copier
'dans ta feuille Temp de la feuille Factures
X = Evaluate("MATCH(" & No & "," & Adr & ",0)")
'Si la formule ne trouve pas, elle retourne une erreur
If Not IsError(X) Then
'si pas d'erreur, tu inscris dans la colonne H de la feuille
"Factures le mot "Réglé" sur la ligne X
Range("Factures!H" & X) = "Réglé"
Else
Err = 0
End If





"PascalBar" a écrit dans le message de groupe de discussion :

michdenis a écrit :
Bonjour,

Il est difficile de répondre à ta question à cause de la formulation de ta question.

Quand tu écris du code, c'est toi qui est le boss et c'est toi qui décide
ce qui doit se passer et comment ça doit se dérouler alors au lieu
d'écrire "J'aimerais ensuite qu'a partir du moment ou sur la feuille temp "

De façon opérationnelle, quand veux-tu ajouter le numéro de facturation ?
Comment fais-tu pour ajouter ce numéro ? Par macro ? Manuellement ?

Dans ta feuille où (l'adresse de la cellule) s'inscrit le numéro de facturation ?
Si j'ai bien compris, c'est sur cette ligne que tu veux afficher le mot "Réglé"
en colonne H ?

Comme nous n'avons pas ton application sous les yeux, Il est difficile de
répondre car tu nous donnes pas l'information pertinente dans ta question.






effectivement en me relisant je n'ai pas été clair.
J'ai un useform avec listBox.
La liste box est alimenté par un filtre sur une combo.
La Liste est multi select et m'affiche 5 cols date Num Fact, Ht
TVA etc
J'ai une macro qui me copie les données sélectionnées de la listbox sur
une feuille "temp"

Je voudrais qu'ensuite avec une boucle, qd les lignes dont les numéros
de facturation sont identiques sur la temp et sur une feuille
facturation, une macro m'affiche réglé sur l'onglet Factures en col H
J'ai essayé un truc du genre

set f= sheets("temp")
[NumFactures]
For each c in [Numfactures]
If c.value=[recup].value then
c.offset(0,5).value =....
End If
Next c

Recup étant une zone dynamique de l'onglet facturation et correspondant
aux N° de Facture

Je ne sais pas si je suis plus clair.
Merci
Pascal
Avatar
PascalBar
michdenis a écrit :
En supposant que j'ai compris ta question...
voici une façon de faire..

Je suppose que tu as dans cette procédure, une ligne
qui inscrit le numéro de la facture sur la feuille Temp
Je ne sais pas qu'elle la colonne de ton listbox qui
contient le numéro de facturation mais....
'--------------------------------
Sheets("Temp").[A2:D1000].ClearContents
Ligne = 2
For i = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(i) = True Then
Sheets("Temp").Cells(Ligne, 1) = Me.ListBox1.List(i)
Sheets("Temp").Cells(Ligne, 2) = Me.ListBox1.List(i, 1)
Sheets("Temp").Cells(Ligne, 3) = Me.ListBox1.List(i, 4)
Sheets("Temp").Cells(Ligne, 4) = Me.ListBox1.List(i, 3)
Ligne = Ligne + 1
End If
Next i
'--------------------------------

Tu peux ajouter à cette procédure après cette ligne
Sheets("Temp").Cells(Ligne, 4) = Me.ListBox1.List(i, 3)


ceci :
'Variable à mettre en début de procédure
Dim Adr As String
Dim No As Long, X As Variant

'Supposons que tu Me.ListBox1.List(i, 3) contient le numéro
'de facture dans ta boucle
No = Me.ListBox1.List(i, 3)
'adapte la plage où sont tes numéros de factures dans
'l'onglet facture.
Adr = "Factures!A1:A6"

'Cette formule te retourne le numéro de la ligne où se
'retrouve le numéro de facture que tu viens de copier
'dans ta feuille Temp de la feuille Factures
X = Evaluate("MATCH(" & No & "," & Adr & ",0)")
'Si la formule ne trouve pas, elle retourne une erreur
If Not IsError(X) Then
'si pas d'erreur, tu inscris dans la colonne H de la feuille
"Factures le mot "Réglé" sur la ligne X
Range("Factures!H" & X) = "Réglé"
Else
Err = 0
End If





"PascalBar" a écrit dans le message de groupe de discussion :

michdenis a écrit :
Bonjour,

Il est difficile de répondre à ta question à cause de la formulation de ta question.

Quand tu écris du code, c'est toi qui est le boss et c'est toi qui décide
ce qui doit se passer et comment ça doit se dérouler alors au lieu
d'écrire "J'aimerais ensuite qu'a partir du moment ou sur la feuille temp "

De façon opérationnelle, quand veux-tu ajouter le numéro de facturation ?
Comment fais-tu pour ajouter ce numéro ? Par macro ? Manuellement ?

Dans ta feuille où (l'adresse de la cellule) s'inscrit le numéro de facturation ?
Si j'ai bien compris, c'est sur cette ligne que tu veux afficher le mot "Réglé"
en colonne H ?

Comme nous n'avons pas ton application sous les yeux, Il est difficile de
répondre car tu nous donnes pas l'information pertinente dans ta question.






effectivement en me relisant je n'ai pas été clair.
J'ai un useform avec listBox.
La liste box est alimenté par un filtre sur une combo.
La Liste est multi select et m'affiche 5 cols date Num Fact, Ht
TVA etc
J'ai une macro qui me copie les données sélectionnées de la listbox sur
une feuille "temp"

Je voudrais qu'ensuite avec une boucle, qd les lignes dont les numéros
de facturation sont identiques sur la temp et sur une feuille
facturation, une macro m'affiche réglé sur l'onglet Factures en col H
J'ai essayé un truc du genre

set f= sheets("temp")
[NumFactures]
For each c in [Numfactures]
If c.value=[recup].value then
c.offset(0,5).value =....
End If
Next c

Recup étant une zone dynamique de l'onglet facturation et correspondant
aux N° de Facture

Je ne sais pas si je suis plus clair.
Merci
Pascal



je te remercie je vais tester ta solution