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

Valeur en plus lors transfert en feuille2

4 réponses
Avatar
j
Bien le bonjour a tous.
Tout d'abord je vous souhaite d'exellentes fêtes.

Voici ma demande !! Pere Noel !!!

J'utilise la macro ci dessous qui m'a été offerte et qui marche tres bien
dans ce NG et encore merci
Pour transferer des données de la feuille1 vers la 2 lorsque la valeur en
colonne E est "ok"
Je souhaiterai ajouter lorsque la ligne se transfere un userform qui me
demande de mettre une date et qui ajouter cette date dans la colonne F de la
feuille2

Si quelqu'un peut m'aider

Merci par avance

*****************************************************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, R As Range, Ligne As Long
Set Rg = Intersect(Target, Range("E:E"))
If Not Rg Is Nothing Then
For Each C In Rg
If UCase(C.Value) = "OK" Then
With Worksheets("Feuil2")
Set R = .Range("A:E").Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious)
If R Is Nothing Then
Ligne = 1
Else
Ligne = R.Row + 1
End If
C.Offset(, -4).Resize(, 5).Copy .Range("A" & Ligne)
End With
End If
Next
End If
End Sub
'-----------------------------------------------

4 réponses

Avatar
michdenis
Bonjour,

Après cette ligne de code :

C.Offset(, -4).Resize(, 5).Copy .Range("A" & Ligne)

Tu ajoutes :


'Tu ouvres le formulaire dans une fenêtre modale
afin d'obliger l'usager à saisir la date dans un Textbox.
Tu pourrais employer un contrôle "Calendar", l'usager
n'ayant qu'à cliquer sur une date pour renseigner la
cellule.

calandrier Userform1.Show
'Si tu choisis l'option Calendar
Tu choisis l'évènement Clic sur le calendar pour renseigner
la variable MaVar que tu as déclarée dans un module standard :
Public MaVar As Variant

Private sub Calendar1_Click()
MaVar = Me.Calendar1.value
End if

Et dans la procédure

MaVar = ""
calandrier Userform1.Show
C.Offset(,1).Numberformat = "DD/MM/YY" 'le format date que tu veux
C.Offset(,1) = MaVar

Si tu dois ouvrir ton fichier sur plusieurs ordinateurs,
en supposant que le fichier source du contrôle "Calendar"
est présent sur l'ordinateur ( il s'installe habituellement en même
temps que l'application l'Access) copie ce qui suit dans le
ThisWorkbook de ton classeur :

'-------------------------------------
Private Sub Workbook_Open()

On Error Resume Next
'Ajoute la bibliothèque "Microsoft Forms 2.0 Object Library"
'(celle-ci ne cause pas problème... mais pour ton information)
ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{0D452EE1-E08F-101A-852E-02608C4D0BB4}", major:=2, minor:=0

'Ajoute la bibliothèque "Microsoft Calendar1 Library"
ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{8E27C92E-1264-101C-8A2F-040224009C02}", major:=7, minor:=0

End Sub
'-------------------------------------


MichD
--------------------------------------------
"" a écrit dans le message de groupe de discussion : 4d133e34$0$4851$

Bien le bonjour a tous.
Tout d'abord je vous souhaite d'exellentes fêtes.

Voici ma demande !! Pere Noel !!!

J'utilise la macro ci dessous qui m'a été offerte et qui marche tres bien
dans ce NG et encore merci
Pour transferer des données de la feuille1 vers la 2 lorsque la valeur en
colonne E est "ok"
Je souhaiterai ajouter lorsque la ligne se transfere un userform qui me
demande de mettre une date et qui ajouter cette date dans la colonne F de la
feuille2

Si quelqu'un peut m'aider

Merci par avance

*****************************************************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, R As Range, Ligne As Long
Set Rg = Intersect(Target, Range("E:E"))
If Not Rg Is Nothing Then
For Each C In Rg
If UCase(C.Value) = "OK" Then
With Worksheets("Feuil2")
Set R = .Range("A:E").Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious)
If R Is Nothing Then
Ligne = 1
Else
Ligne = R.Row + 1
End If
C.Offset(, -4).Resize(, 5).Copy .Range("A" & Ligne)
End With
End If
Next
End If
End Sub
'-----------------------------------------------
Avatar
j
Merci de ta réponse aussi rapide

il y a qq points que je pige pas trop, voir pas du tout

je sais que je vais abuser !!!!!!! mais un exemple dans un fichier me serait
tres utile

bon je crois au Pere Noel

Merci déjà



"michdenis" a écrit dans le message de news:
ievg9k$koh$
Bonjour,

Après cette ligne de code :

C.Offset(, -4).Resize(, 5).Copy .Range("A" & Ligne)

Tu ajoutes :


'Tu ouvres le formulaire dans une fenêtre modale
afin d'obliger l'usager à saisir la date dans un Textbox.
Tu pourrais employer un contrôle "Calendar", l'usager
n'ayant qu'à cliquer sur une date pour renseigner la
cellule.

calandrier Userform1.Show
'Si tu choisis l'option Calendar
Tu choisis l'évènement Clic sur le calendar pour renseigner
la variable MaVar que tu as déclarée dans un module standard :
Public MaVar As Variant

Private sub Calendar1_Click()
MaVar = Me.Calendar1.value
End if

Et dans la procédure

MaVar = ""
calandrier Userform1.Show
C.Offset(,1).Numberformat = "DD/MM/YY" 'le format date que tu veux
C.Offset(,1) = MaVar

Si tu dois ouvrir ton fichier sur plusieurs ordinateurs,
en supposant que le fichier source du contrôle "Calendar"
est présent sur l'ordinateur ( il s'installe habituellement en même
temps que l'application l'Access) copie ce qui suit dans le
ThisWorkbook de ton classeur :

'-------------------------------------
Private Sub Workbook_Open()

On Error Resume Next
'Ajoute la bibliothèque "Microsoft Forms 2.0 Object Library"
'(celle-ci ne cause pas problème... mais pour ton information)
ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{0D452EE1-E08F-101A-852E-02608C4D0BB4}", major:=2, minor:=0

'Ajoute la bibliothèque "Microsoft Calendar1 Library"
ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{8E27C92E-1264-101C-8A2F-040224009C02}", major:=7, minor:=0

End Sub
'-------------------------------------


MichD
--------------------------------------------
"" a écrit dans le message de groupe de discussion :
4d133e34$0$4851$

Bien le bonjour a tous.
Tout d'abord je vous souhaite d'exellentes fêtes.

Voici ma demande !! Pere Noel !!!

J'utilise la macro ci dessous qui m'a été offerte et qui marche tres bien
dans ce NG et encore merci
Pour transferer des données de la feuille1 vers la 2 lorsque la valeur en
colonne E est "ok"
Je souhaiterai ajouter lorsque la ligne se transfere un userform qui me
demande de mettre une date et qui ajouter cette date dans la colonne F de
la
feuille2

Si quelqu'un peut m'aider

Merci par avance

*****************************************************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, R As Range, Ligne As Long
Set Rg = Intersect(Target, Range("E:E"))
If Not Rg Is Nothing Then
For Each C In Rg
If UCase(C.Value) = "OK" Then
With Worksheets("Feuil2")
Set R = .Range("A:E").Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious)
If R Is Nothing Then
Ligne = 1
Else
Ligne = R.Row + 1
End If
C.Offset(, -4).Resize(, 5).Copy .Range("A" & Ligne)
End With
End If
Next
End If
End Sub
'-----------------------------------------------

Avatar
michdenis
Sur ton ordi, tu dois avoir ce fichier : MSCAL.OCX
Il s'installe en même temps que l'application Access.


http://cjoint.com/?0mxuM5rnwxa


MichD
--------------------------------------------
"" a écrit dans le message de groupe de discussion : 4d139978$0$20841$

Merci de ta réponse aussi rapide

il y a qq points que je pige pas trop, voir pas du tout

je sais que je vais abuser !!!!!!! mais un exemple dans un fichier me serait
tres utile

bon je crois au Pere Noel

Merci déjà



"michdenis" a écrit dans le message de news:
ievg9k$koh$
Bonjour,

Après cette ligne de code :

C.Offset(, -4).Resize(, 5).Copy .Range("A" & Ligne)

Tu ajoutes :


'Tu ouvres le formulaire dans une fenêtre modale
afin d'obliger l'usager à saisir la date dans un Textbox.
Tu pourrais employer un contrôle "Calendar", l'usager
n'ayant qu'à cliquer sur une date pour renseigner la
cellule.

calandrier Userform1.Show
'Si tu choisis l'option Calendar
Tu choisis l'évènement Clic sur le calendar pour renseigner
la variable MaVar que tu as déclarée dans un module standard :
Public MaVar As Variant

Private sub Calendar1_Click()
MaVar = Me.Calendar1.value
End if

Et dans la procédure

MaVar = ""
calandrier Userform1.Show
C.Offset(,1).Numberformat = "DD/MM/YY" 'le format date que tu veux
C.Offset(,1) = MaVar

Si tu dois ouvrir ton fichier sur plusieurs ordinateurs,
en supposant que le fichier source du contrôle "Calendar"
est présent sur l'ordinateur ( il s'installe habituellement en même
temps que l'application l'Access) copie ce qui suit dans le
ThisWorkbook de ton classeur :

'-------------------------------------
Private Sub Workbook_Open()

On Error Resume Next
'Ajoute la bibliothèque "Microsoft Forms 2.0 Object Library"
'(celle-ci ne cause pas problème... mais pour ton information)
ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{0D452EE1-E08F-101A-852E-02608C4D0BB4}", major:=2, minor:=0

'Ajoute la bibliothèque "Microsoft Calendar1 Library"
ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{8E27C92E-1264-101C-8A2F-040224009C02}", major:=7, minor:=0

End Sub
'-------------------------------------


MichD
--------------------------------------------
"" a écrit dans le message de groupe de discussion :
4d133e34$0$4851$

Bien le bonjour a tous.
Tout d'abord je vous souhaite d'exellentes fêtes.

Voici ma demande !! Pere Noel !!!

J'utilise la macro ci dessous qui m'a été offerte et qui marche tres bien
dans ce NG et encore merci
Pour transferer des données de la feuille1 vers la 2 lorsque la valeur en
colonne E est "ok"
Je souhaiterai ajouter lorsque la ligne se transfere un userform qui me
demande de mettre une date et qui ajouter cette date dans la colonne F de
la
feuille2

Si quelqu'un peut m'aider

Merci par avance

*****************************************************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, R As Range, Ligne As Long
Set Rg = Intersect(Target, Range("E:E"))
If Not Rg Is Nothing Then
For Each C In Rg
If UCase(C.Value) = "OK" Then
With Worksheets("Feuil2")
Set R = .Range("A:E").Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious)
If R Is Nothing Then
Ligne = 1
Else
Ligne = R.Row + 1
End If
C.Offset(, -4).Resize(, 5).Copy .Range("A" & Ligne)
End With
End If
Next
End If
End Sub
'-----------------------------------------------

Avatar
j
Trop génial
Milles merci

A moi de bosser pour tout comprendre maintenant
Bonnes fêtes


"michdenis" a écrit dans le message de news:
if09k0$mug$

Sur ton ordi, tu dois avoir ce fichier : MSCAL.OCX
Il s'installe en même temps que l'application Access.


http://cjoint.com/?0mxuM5rnwxa


MichD
--------------------------------------------
"" a écrit dans le message de groupe de discussion :
4d139978$0$20841$

Merci de ta réponse aussi rapide

il y a qq points que je pige pas trop, voir pas du tout

je sais que je vais abuser !!!!!!! mais un exemple dans un fichier me
serait
tres utile

bon je crois au Pere Noel

Merci déjà



"michdenis" a écrit dans le message de news:
ievg9k$koh$
Bonjour,

Après cette ligne de code :

C.Offset(, -4).Resize(, 5).Copy .Range("A" & Ligne)

Tu ajoutes :


'Tu ouvres le formulaire dans une fenêtre modale
afin d'obliger l'usager à saisir la date dans un Textbox.
Tu pourrais employer un contrôle "Calendar", l'usager
n'ayant qu'à cliquer sur une date pour renseigner la
cellule.

calandrier Userform1.Show
'Si tu choisis l'option Calendar
Tu choisis l'évènement Clic sur le calendar pour renseigner
la variable MaVar que tu as déclarée dans un module standard :
Public MaVar As Variant

Private sub Calendar1_Click()
MaVar = Me.Calendar1.value
End if

Et dans la procédure

MaVar = ""
calandrier Userform1.Show
C.Offset(,1).Numberformat = "DD/MM/YY" 'le format date que tu veux
C.Offset(,1) = MaVar

Si tu dois ouvrir ton fichier sur plusieurs ordinateurs,
en supposant que le fichier source du contrôle "Calendar"
est présent sur l'ordinateur ( il s'installe habituellement en même
temps que l'application l'Access) copie ce qui suit dans le
ThisWorkbook de ton classeur :

'-------------------------------------
Private Sub Workbook_Open()

On Error Resume Next
'Ajoute la bibliothèque "Microsoft Forms 2.0 Object Library"
'(celle-ci ne cause pas problème... mais pour ton information)
ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{0D452EE1-E08F-101A-852E-02608C4D0BB4}", major:=2, minor:=0

'Ajoute la bibliothèque "Microsoft Calendar1 Library"
ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{8E27C92E-1264-101C-8A2F-040224009C02}", major:=7, minor:=0

End Sub
'-------------------------------------


MichD
--------------------------------------------
"" a écrit dans le message de groupe de discussion :
4d133e34$0$4851$

Bien le bonjour a tous.
Tout d'abord je vous souhaite d'exellentes fêtes.

Voici ma demande !! Pere Noel !!!

J'utilise la macro ci dessous qui m'a été offerte et qui marche tres bien
dans ce NG et encore merci
Pour transferer des données de la feuille1 vers la 2 lorsque la valeur en
colonne E est "ok"
Je souhaiterai ajouter lorsque la ligne se transfere un userform qui me
demande de mettre une date et qui ajouter cette date dans la colonne F de
la
feuille2

Si quelqu'un peut m'aider

Merci par avance

*****************************************************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, R As Range, Ligne As Long
Set Rg = Intersect(Target, Range("E:E"))
If Not Rg Is Nothing Then
For Each C In Rg
If UCase(C.Value) = "OK" Then
With Worksheets("Feuil2")
Set R = .Range("A:E").Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious)
If R Is Nothing Then
Ligne = 1
Else
Ligne = R.Row + 1
End If
C.Offset(, -4).Resize(, 5).Copy .Range("A" & Ligne)
End With
End If
Next
End If
End Sub
'-----------------------------------------------