Je fais appel au gourou pour savoir si mon problème est réalisable.
Dans une feuille1, j'ai des informations récupérées d'autres classeurs.
Dans une feuille2, j'ai un tableau que je voudrais compléter avec les
informations de la feuille1. Là où cela se complique, c'est que chaque ligne
de la feuille1 peut être insérées dans la feuille2 n'importe où en fonction
du choix de l'utilisateur. L'utilisateur rempli un champs en indiquant une
référence, cette ci étant une valeur dans une cellule. Le principe étant
qu'une
fois toute ou partie du champ « F » (par exemple) de la feuille1 renseignée,
une autre macro fera le traitement complet d'insertion dans la feuille2.
Mon problème est donc le suivant :
-l'utilisateur clique dans une cellule du champs F de la feuille1 pour
indiquer après quelle ligne il veux insérer ces infos.
-La feuille2 apparaît et lui rend la main pour lui permettre de chercher le
point d'insertion.
-L'utilisateur clique sur la ligne voulue.
-La macro récupère la valeur de la cellule du champ « référence » dans cette
ligne.
-la macro revient sur la feuille1 et rentre la valeur dans la cellule du
champ « F ».
Je n'ai pas l'impression d'être très clair alors voici une ébauche
d'algorithme :
-L'utilisateur clique dans une cellule d'un champ défini de la feuille1 (par
exemple « F ». Cette action déclanche la macro.
-Ouverture de la feuille2. [Jusque là je pense y arriver]
-Rendre la main à l'utilisateur et le laisser parcourir cette feuille. Elle
attend qu'il clique sur une autre cellule de cette feuille. [C'est là que le
bas blesse]
-L'utilisateur a cliqué sur une autre cellule, récupération de la valeur
d'une
cellule d'un champ « référence » de cette même ligne (par exemple « D »).
[et là je devrais pouvoir m'en sortir]
-Retour à la feuille1.
-Transfert de cette valeur récupérée dans la première cellule cliquée (du
champ « F »).
-fin de la macro.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacky
Bonsoir,
Si quelqu'un avait une solution, je suis preneur.
Une piste peut-être... A placer dans le module de la feuille1 [champ] = plage nommée dans la feuille 1 qui est susceptible à être copiée Cette procédure copie dans une plage nommée "champ" la cellule sélectionnée dans ce champ, puis demande à l'utilisateur la cellule de destination en feuille 2, et y colle la valeur A adapter à ton besoin '-------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim COPIE As String If Not Intersect(Target, [champ]) Is Nothing Then If Target = "" Then MsgBox "Cellule vide." & vbLf & "Abandon.": Exit Sub COPIE = ActiveCell.Value Sheets("feuil2").Activate On Error Resume Next Set CelluleAcoller = Application.InputBox("Copie de :" & COPIE & vbLf & "Sélectionnez cellule de destination en " & ActiveSheet.Name, Type:=8) CelluleAcoller.Value = COPIE Sheets("feuil1").Activate End If End Sub '----------------------- -- Salutations JJ
"PAN GOT" a écrit dans le message de news: %
Bonsoir à toutes et à tous,
Je fais appel au gourou pour savoir si mon problème est réalisable.
Dans une feuille1, j'ai des informations récupérées d'autres classeurs. Dans une feuille2, j'ai un tableau que je voudrais compléter avec les informations de la feuille1. Là où cela se complique, c'est que chaque ligne de la feuille1 peut être insérées dans la feuille2 n'importe où en fonction du choix de l'utilisateur. L'utilisateur rempli un champs en indiquant une référence, cette ci étant une valeur dans une cellule. Le principe étant qu'une fois toute ou partie du champ « F » (par exemple) de la feuille1 renseignée, une autre macro fera le traitement complet d'insertion dans la feuille2.
Mon problème est donc le suivant :
-l'utilisateur clique dans une cellule du champs F de la feuille1 pour indiquer après quelle ligne il veux insérer ces infos.
-La feuille2 apparaît et lui rend la main pour lui permettre de chercher le point d'insertion.
-L'utilisateur clique sur la ligne voulue.
-La macro récupère la valeur de la cellule du champ « référence » dans cette ligne.
-la macro revient sur la feuille1 et rentre la valeur dans la cellule du champ « F ».
Je n'ai pas l'impression d'être très clair alors voici une ébauche d'algorithme :
-L'utilisateur clique dans une cellule d'un champ défini de la feuille1 (par exemple « F ». Cette action déclanche la macro. -Ouverture de la feuille2. [Jusque là je pense y arriver] -Rendre la main à l'utilisateur et le laisser parcourir cette feuille. Elle attend qu'il clique sur une autre cellule de cette feuille. [C'est là que le bas blesse] -L'utilisateur a cliqué sur une autre cellule, récupération de la valeur d'une cellule d'un champ « référence » de cette même ligne (par exemple « D »). [et là je devrais pouvoir m'en sortir] -Retour à la feuille1. -Transfert de cette valeur récupérée dans la première cellule cliquée (du champ « F »). -fin de la macro.
Si quelqu'un avait une solution, je suis preneur.
Merci d'avance et bonne soirée.
Patrick
Bonsoir,
Si quelqu'un avait une solution, je suis preneur.
Une piste peut-être...
A placer dans le module de la feuille1
[champ] = plage nommée dans la feuille 1 qui est susceptible à être copiée
Cette procédure copie dans une plage nommée "champ" la cellule sélectionnée
dans ce champ, puis demande à l'utilisateur la cellule de destination en
feuille 2, et y colle la valeur
A adapter à ton besoin
'--------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim COPIE As String
If Not Intersect(Target, [champ]) Is Nothing Then
If Target = "" Then MsgBox "Cellule vide." & vbLf & "Abandon.": Exit Sub
COPIE = ActiveCell.Value
Sheets("feuil2").Activate
On Error Resume Next
Set CelluleAcoller = Application.InputBox("Copie de :" & COPIE & vbLf &
"Sélectionnez cellule de destination en " & ActiveSheet.Name, Type:=8)
CelluleAcoller.Value = COPIE
Sheets("feuil1").Activate
End If
End Sub
'-----------------------
--
Salutations
JJ
"PAN GOT" <no-spam-gret.angot@wanadoo.fr> a écrit dans le message de news:
%23qZv6E7ZKHA.616@TK2MSFTNGP04.phx.gbl...
Bonsoir à toutes et à tous,
Je fais appel au gourou pour savoir si mon problème est réalisable.
Dans une feuille1, j'ai des informations récupérées d'autres classeurs.
Dans une feuille2, j'ai un tableau que je voudrais compléter avec les
informations de la feuille1. Là où cela se complique, c'est que chaque
ligne
de la feuille1 peut être insérées dans la feuille2 n'importe où en
fonction
du choix de l'utilisateur. L'utilisateur rempli un champs en indiquant une
référence, cette ci étant une valeur dans une cellule. Le principe étant
qu'une
fois toute ou partie du champ « F » (par exemple) de la feuille1
renseignée,
une autre macro fera le traitement complet d'insertion dans la feuille2.
Mon problème est donc le suivant :
-l'utilisateur clique dans une cellule du champs F de la feuille1 pour
indiquer après quelle ligne il veux insérer ces infos.
-La feuille2 apparaît et lui rend la main pour lui permettre de chercher
le
point d'insertion.
-L'utilisateur clique sur la ligne voulue.
-La macro récupère la valeur de la cellule du champ « référence » dans
cette
ligne.
-la macro revient sur la feuille1 et rentre la valeur dans la cellule du
champ « F ».
Je n'ai pas l'impression d'être très clair alors voici une ébauche
d'algorithme :
-L'utilisateur clique dans une cellule d'un champ défini de la feuille1
(par
exemple « F ». Cette action déclanche la macro.
-Ouverture de la feuille2. [Jusque là je pense y arriver]
-Rendre la main à l'utilisateur et le laisser parcourir cette feuille.
Elle
attend qu'il clique sur une autre cellule de cette feuille. [C'est là que
le
bas blesse]
-L'utilisateur a cliqué sur une autre cellule, récupération de la valeur
d'une
cellule d'un champ « référence » de cette même ligne (par exemple « D »).
[et là je devrais pouvoir m'en sortir]
-Retour à la feuille1.
-Transfert de cette valeur récupérée dans la première cellule cliquée (du
champ « F »).
-fin de la macro.
Une piste peut-être... A placer dans le module de la feuille1 [champ] = plage nommée dans la feuille 1 qui est susceptible à être copiée Cette procédure copie dans une plage nommée "champ" la cellule sélectionnée dans ce champ, puis demande à l'utilisateur la cellule de destination en feuille 2, et y colle la valeur A adapter à ton besoin '-------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim COPIE As String If Not Intersect(Target, [champ]) Is Nothing Then If Target = "" Then MsgBox "Cellule vide." & vbLf & "Abandon.": Exit Sub COPIE = ActiveCell.Value Sheets("feuil2").Activate On Error Resume Next Set CelluleAcoller = Application.InputBox("Copie de :" & COPIE & vbLf & "Sélectionnez cellule de destination en " & ActiveSheet.Name, Type:=8) CelluleAcoller.Value = COPIE Sheets("feuil1").Activate End If End Sub '----------------------- -- Salutations JJ
"PAN GOT" a écrit dans le message de news: %
Bonsoir à toutes et à tous,
Je fais appel au gourou pour savoir si mon problème est réalisable.
Dans une feuille1, j'ai des informations récupérées d'autres classeurs. Dans une feuille2, j'ai un tableau que je voudrais compléter avec les informations de la feuille1. Là où cela se complique, c'est que chaque ligne de la feuille1 peut être insérées dans la feuille2 n'importe où en fonction du choix de l'utilisateur. L'utilisateur rempli un champs en indiquant une référence, cette ci étant une valeur dans une cellule. Le principe étant qu'une fois toute ou partie du champ « F » (par exemple) de la feuille1 renseignée, une autre macro fera le traitement complet d'insertion dans la feuille2.
Mon problème est donc le suivant :
-l'utilisateur clique dans une cellule du champs F de la feuille1 pour indiquer après quelle ligne il veux insérer ces infos.
-La feuille2 apparaît et lui rend la main pour lui permettre de chercher le point d'insertion.
-L'utilisateur clique sur la ligne voulue.
-La macro récupère la valeur de la cellule du champ « référence » dans cette ligne.
-la macro revient sur la feuille1 et rentre la valeur dans la cellule du champ « F ».
Je n'ai pas l'impression d'être très clair alors voici une ébauche d'algorithme :
-L'utilisateur clique dans une cellule d'un champ défini de la feuille1 (par exemple « F ». Cette action déclanche la macro. -Ouverture de la feuille2. [Jusque là je pense y arriver] -Rendre la main à l'utilisateur et le laisser parcourir cette feuille. Elle attend qu'il clique sur une autre cellule de cette feuille. [C'est là que le bas blesse] -L'utilisateur a cliqué sur une autre cellule, récupération de la valeur d'une cellule d'un champ « référence » de cette même ligne (par exemple « D »). [et là je devrais pouvoir m'en sortir] -Retour à la feuille1. -Transfert de cette valeur récupérée dans la première cellule cliquée (du champ « F »). -fin de la macro.
Si quelqu'un avait une solution, je suis preneur.
Merci d'avance et bonne soirée.
Patrick
PAN GOT
Bonsoir,
J'ai adapté ton code à mon classeur et ça fonctionne parfaitement.
C'est marrant mais effectivement j'avais lu dans ce même forum qu'il y avait plusieurs façon d'utiliser InputBox. Mais j'en étais resté à une utilisation tel qu'elle existait dans VB3, c'est-à-dire une possibilité de saisir du txt simplement.
Encore merci et bonne soirée.
Patrick
"Jacky" a écrit dans le message de news: %
Bonsoir,
Si quelqu'un avait une solution, je suis preneur.
Une piste peut-être... A placer dans le module de la feuille1 [champ] = plage nommée dans la feuille 1 qui est susceptible à être copiée Cette procédure copie dans une plage nommée "champ" la cellule sélectionnée dans ce champ, puis demande à l'utilisateur la cellule de destination en feuille 2, et y colle la valeur A adapter à ton besoin '-------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim COPIE As String If Not Intersect(Target, [champ]) Is Nothing Then If Target = "" Then MsgBox "Cellule vide." & vbLf & "Abandon.": Exit Sub COPIE = ActiveCell.Value Sheets("feuil2").Activate On Error Resume Next Set CelluleAcoller = Application.InputBox("Copie de :" & COPIE & vbLf & "Sélectionnez cellule de destination en " & ActiveSheet.Name, Type:=8) CelluleAcoller.Value = COPIE Sheets("feuil1").Activate End If End Sub '----------------------- -- Salutations JJ
"PAN GOT" a écrit dans le message de news: %
Bonsoir à toutes et à tous,
Je fais appel au gourou pour savoir si mon problème est réalisable.
Dans une feuille1, j'ai des informations récupérées d'autres classeurs. Dans une feuille2, j'ai un tableau que je voudrais compléter avec les informations de la feuille1. Là où cela se complique, c'est que chaque ligne de la feuille1 peut être insérées dans la feuille2 n'importe où en fonction du choix de l'utilisateur. L'utilisateur rempli un champs en indiquant une référence, cette ci étant une valeur dans une cellule. Le principe étant qu'une fois toute ou partie du champ « F » (par exemple) de la feuille1 renseignée, une autre macro fera le traitement complet d'insertion dans la feuille2.
Mon problème est donc le suivant :
-l'utilisateur clique dans une cellule du champs F de la feuille1 pour indiquer après quelle ligne il veux insérer ces infos.
-La feuille2 apparaît et lui rend la main pour lui permettre de chercher le point d'insertion.
-L'utilisateur clique sur la ligne voulue.
-La macro récupère la valeur de la cellule du champ « référence » dans cette ligne.
-la macro revient sur la feuille1 et rentre la valeur dans la cellule du champ « F ».
Je n'ai pas l'impression d'être très clair alors voici une ébauche d'algorithme :
-L'utilisateur clique dans une cellule d'un champ défini de la feuille1 (par exemple « F ». Cette action déclanche la macro. -Ouverture de la feuille2. [Jusque là je pense y arriver] -Rendre la main à l'utilisateur et le laisser parcourir cette feuille. Elle attend qu'il clique sur une autre cellule de cette feuille. [C'est là que le bas blesse] -L'utilisateur a cliqué sur une autre cellule, récupération de la valeur d'une cellule d'un champ « référence » de cette même ligne (par exemple « D »). [et là je devrais pouvoir m'en sortir] -Retour à la feuille1. -Transfert de cette valeur récupérée dans la première cellule cliquée (du champ « F »). -fin de la macro.
Si quelqu'un avait une solution, je suis preneur.
Merci d'avance et bonne soirée.
Patrick
Bonsoir,
J'ai adapté ton code à mon classeur et ça fonctionne parfaitement.
C'est marrant mais effectivement j'avais lu dans ce même forum qu'il y avait
plusieurs façon d'utiliser InputBox. Mais j'en étais resté à une utilisation
tel qu'elle existait dans VB3, c'est-à-dire une possibilité de saisir du txt
simplement.
Encore merci et bonne soirée.
Patrick
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
%23DJG1m7ZKHA.5976@TK2MSFTNGP05.phx.gbl...
Bonsoir,
Si quelqu'un avait une solution, je suis preneur.
Une piste peut-être...
A placer dans le module de la feuille1
[champ] = plage nommée dans la feuille 1 qui est susceptible à être copiée
Cette procédure copie dans une plage nommée "champ" la cellule
sélectionnée dans ce champ, puis demande à l'utilisateur la cellule de
destination en feuille 2, et y colle la valeur
A adapter à ton besoin
'--------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim COPIE As String
If Not Intersect(Target, [champ]) Is Nothing Then
If Target = "" Then MsgBox "Cellule vide." & vbLf & "Abandon.": Exit Sub
COPIE = ActiveCell.Value
Sheets("feuil2").Activate
On Error Resume Next
Set CelluleAcoller = Application.InputBox("Copie de :" & COPIE & vbLf &
"Sélectionnez cellule de destination en " & ActiveSheet.Name, Type:=8)
CelluleAcoller.Value = COPIE
Sheets("feuil1").Activate
End If
End Sub
'-----------------------
--
Salutations
JJ
"PAN GOT" <no-spam-gret.angot@wanadoo.fr> a écrit dans le message de news:
%23qZv6E7ZKHA.616@TK2MSFTNGP04.phx.gbl...
Bonsoir à toutes et à tous,
Je fais appel au gourou pour savoir si mon problème est réalisable.
Dans une feuille1, j'ai des informations récupérées d'autres classeurs.
Dans une feuille2, j'ai un tableau que je voudrais compléter avec les
informations de la feuille1. Là où cela se complique, c'est que chaque
ligne
de la feuille1 peut être insérées dans la feuille2 n'importe où en
fonction
du choix de l'utilisateur. L'utilisateur rempli un champs en indiquant
une
référence, cette ci étant une valeur dans une cellule. Le principe étant
qu'une
fois toute ou partie du champ « F » (par exemple) de la feuille1
renseignée,
une autre macro fera le traitement complet d'insertion dans la feuille2.
Mon problème est donc le suivant :
-l'utilisateur clique dans une cellule du champs F de la feuille1 pour
indiquer après quelle ligne il veux insérer ces infos.
-La feuille2 apparaît et lui rend la main pour lui permettre de chercher
le
point d'insertion.
-L'utilisateur clique sur la ligne voulue.
-La macro récupère la valeur de la cellule du champ « référence » dans
cette
ligne.
-la macro revient sur la feuille1 et rentre la valeur dans la cellule du
champ « F ».
Je n'ai pas l'impression d'être très clair alors voici une ébauche
d'algorithme :
-L'utilisateur clique dans une cellule d'un champ défini de la feuille1
(par
exemple « F ». Cette action déclanche la macro.
-Ouverture de la feuille2. [Jusque là je pense y arriver]
-Rendre la main à l'utilisateur et le laisser parcourir cette feuille.
Elle
attend qu'il clique sur une autre cellule de cette feuille. [C'est là que
le
bas blesse]
-L'utilisateur a cliqué sur une autre cellule, récupération de la valeur
d'une
cellule d'un champ « référence » de cette même ligne (par exemple « D »).
[et là je devrais pouvoir m'en sortir]
-Retour à la feuille1.
-Transfert de cette valeur récupérée dans la première cellule cliquée (du
champ « F »).
-fin de la macro.
J'ai adapté ton code à mon classeur et ça fonctionne parfaitement.
C'est marrant mais effectivement j'avais lu dans ce même forum qu'il y avait plusieurs façon d'utiliser InputBox. Mais j'en étais resté à une utilisation tel qu'elle existait dans VB3, c'est-à-dire une possibilité de saisir du txt simplement.
Encore merci et bonne soirée.
Patrick
"Jacky" a écrit dans le message de news: %
Bonsoir,
Si quelqu'un avait une solution, je suis preneur.
Une piste peut-être... A placer dans le module de la feuille1 [champ] = plage nommée dans la feuille 1 qui est susceptible à être copiée Cette procédure copie dans une plage nommée "champ" la cellule sélectionnée dans ce champ, puis demande à l'utilisateur la cellule de destination en feuille 2, et y colle la valeur A adapter à ton besoin '-------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim COPIE As String If Not Intersect(Target, [champ]) Is Nothing Then If Target = "" Then MsgBox "Cellule vide." & vbLf & "Abandon.": Exit Sub COPIE = ActiveCell.Value Sheets("feuil2").Activate On Error Resume Next Set CelluleAcoller = Application.InputBox("Copie de :" & COPIE & vbLf & "Sélectionnez cellule de destination en " & ActiveSheet.Name, Type:=8) CelluleAcoller.Value = COPIE Sheets("feuil1").Activate End If End Sub '----------------------- -- Salutations JJ
"PAN GOT" a écrit dans le message de news: %
Bonsoir à toutes et à tous,
Je fais appel au gourou pour savoir si mon problème est réalisable.
Dans une feuille1, j'ai des informations récupérées d'autres classeurs. Dans une feuille2, j'ai un tableau que je voudrais compléter avec les informations de la feuille1. Là où cela se complique, c'est que chaque ligne de la feuille1 peut être insérées dans la feuille2 n'importe où en fonction du choix de l'utilisateur. L'utilisateur rempli un champs en indiquant une référence, cette ci étant une valeur dans une cellule. Le principe étant qu'une fois toute ou partie du champ « F » (par exemple) de la feuille1 renseignée, une autre macro fera le traitement complet d'insertion dans la feuille2.
Mon problème est donc le suivant :
-l'utilisateur clique dans une cellule du champs F de la feuille1 pour indiquer après quelle ligne il veux insérer ces infos.
-La feuille2 apparaît et lui rend la main pour lui permettre de chercher le point d'insertion.
-L'utilisateur clique sur la ligne voulue.
-La macro récupère la valeur de la cellule du champ « référence » dans cette ligne.
-la macro revient sur la feuille1 et rentre la valeur dans la cellule du champ « F ».
Je n'ai pas l'impression d'être très clair alors voici une ébauche d'algorithme :
-L'utilisateur clique dans une cellule d'un champ défini de la feuille1 (par exemple « F ». Cette action déclanche la macro. -Ouverture de la feuille2. [Jusque là je pense y arriver] -Rendre la main à l'utilisateur et le laisser parcourir cette feuille. Elle attend qu'il clique sur une autre cellule de cette feuille. [C'est là que le bas blesse] -L'utilisateur a cliqué sur une autre cellule, récupération de la valeur d'une cellule d'un champ « référence » de cette même ligne (par exemple « D »). [et là je devrais pouvoir m'en sortir] -Retour à la feuille1. -Transfert de cette valeur récupérée dans la première cellule cliquée (du champ « F »). -fin de la macro.