Comment faire pour copier une ligne du tableau (A1:En) dans celui de
(H1:Kn) si l'intersection de la ligne =E0 copier avec la colonne E
contient une croix "x" ?
Bonsoir. Mets dans le code de la feuille : Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 5 Or Target.Count > 1 Then Exit Sub If Target.Offset(, -4) = "" Then Exit Sub If Target = "x" Then Range("A" & Target.Row & ":D" & Target.Row).Copy _ Range("H65536").End(xlUp).Offset(1) End If End Sub (regarde ton classeur modifié : http://cjoint.com/?mArNhurn7J) Cordialement. Daniel "Apitos" a écrit dans le message de news:
Bonsoir,
Comment faire pour copier une ligne du tableau (A1:En) dans celui de (H1:Kn) si l'intersection de la ligne à copier avec la colonne E contient une croix "x" ?
L'exemple en fichier joint.
http://cjoint.com/?mAq0i5FSAz
Merci,
Bonsoir.
Mets dans le code de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 5 Or Target.Count > 1 Then Exit Sub
If Target.Offset(, -4) = "" Then Exit Sub
If Target = "x" Then
Range("A" & Target.Row & ":D" & Target.Row).Copy _
Range("H65536").End(xlUp).Offset(1)
End If
End Sub
(regarde ton classeur modifié : http://cjoint.com/?mArNhurn7J)
Cordialement.
Daniel
"Apitos" <apitos@gmail.com> a écrit dans le message de news:
348b041d-ce03-4ffc-a9b6-b1c3b8a3ad69@j20g2000hsi.googlegroups.com...
Bonsoir,
Comment faire pour copier une ligne du tableau (A1:En) dans celui de
(H1:Kn) si l'intersection de la ligne à copier avec la colonne E
contient une croix "x" ?
Bonsoir. Mets dans le code de la feuille : Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 5 Or Target.Count > 1 Then Exit Sub If Target.Offset(, -4) = "" Then Exit Sub If Target = "x" Then Range("A" & Target.Row & ":D" & Target.Row).Copy _ Range("H65536").End(xlUp).Offset(1) End If End Sub (regarde ton classeur modifié : http://cjoint.com/?mArNhurn7J) Cordialement. Daniel "Apitos" a écrit dans le message de news:
Bonsoir,
Comment faire pour copier une ligne du tableau (A1:En) dans celui de (H1:Kn) si l'intersection de la ligne à copier avec la colonne E contient une croix "x" ?
L'exemple en fichier joint.
http://cjoint.com/?mAq0i5FSAz
Merci,
Apitos
Bonsoir Daniel,
Mais si on continue à copier les données, le tableau en bleu sera écrasé).
Et si la ligne 11 (pour le tableau en bleu) contient des données, la ligne copiée sera écrite à la suite de cette dernière (ligne 12 ici) !
Comment procède-t-on pour traiter ces cas :
1 - S'il y'a un "x" dans la colonne E, la ligne correspondante sera copié sans doublons dans le tableau d'à coté.
2 - Si on enlève le "x", la ligne désignée sera effacer du deuxième tableau.
3 - Si on arrive à proximité d'une ligne du tableau bleu, on insère une ligne blanche, avant de copier la ligne marquée par un "x".
Merci à tous.
Bonsoir Daniel,
Mais si on continue à copier les données, le tableau en bleu sera
écrasé).
Et si la ligne 11 (pour le tableau en bleu) contient des données, la
ligne copiée sera écrite à la suite de cette dernière (ligne 12 ici) !
Comment procède-t-on pour traiter ces cas :
1 - S'il y'a un "x" dans la colonne E, la ligne correspondante sera
copié sans doublons dans le tableau d'à coté.
2 - Si on enlève le "x", la ligne désignée sera effacer du deuxième
tableau.
3 - Si on arrive à proximité d'une ligne du tableau bleu, on insère
une ligne blanche, avant de copier la ligne marquée par un "x".
Mais si on continue à copier les données, le tableau en bleu sera écrasé).
Et si la ligne 11 (pour le tableau en bleu) contient des données, la ligne copiée sera écrite à la suite de cette dernière (ligne 12 ici) !
Comment procède-t-on pour traiter ces cas :
1 - S'il y'a un "x" dans la colonne E, la ligne correspondante sera copié sans doublons dans le tableau d'à coté.
2 - Si on enlève le "x", la ligne désignée sera effacer du deuxième tableau.
3 - Si on arrive à proximité d'une ligne du tableau bleu, on insère une ligne blanche, avant de copier la ligne marquée par un "x".
Merci à tous.
LSteph
bonsoir,
Private Sub Worksheet_Change(ByVal Target As Range) Dim iSect As Range, laplage As Range, c As Range With [a2].CurrentRegion.Columns(1) Set laplage = Range("a2", "a" & _ .Cells(.Cells.Count).Row).Offset(0, 4)
Set iSect = Intersect(Target, laplage) If iSect Is Nothing Then Exit Sub
Range([h1].CurrentRegion.Rows(2), _ [h1].CurrentRegion.Rows(.Rows.Count)).Clear For Each c In laplage.Cells With [h1].CurrentRegion If LCase(c) = "x" Then Range(c.Offset(0, -4).Address, _ c.Offset(0, -1).Address).Copy _ Destination:=.Rows(.Rows.Count)(2) End If End With Next
End With End Sub
'lSteph
Bonsoir Daniel,
Mais si on continue à copier les données, le tableau en bleu sera écrasé).
Et si la ligne 11 (pour le tableau en bleu) contient des données, la ligne copiée sera écrite à la suite de cette dernière (ligne 12 ici) !
Comment procède-t-on pour traiter ces cas :
1 - S'il y'a un "x" dans la colonne E, la ligne correspondante sera copié sans doublons dans le tableau d'à coté.
2 - Si on enlève le "x", la ligne désignée sera effacer du deuxième tableau.
3 - Si on arrive à proximité d'une ligne du tableau bleu, on insère une ligne blanche, avant de copier la ligne marquée par un "x".
Merci à tous.
bonsoir,
Private Sub Worksheet_Change(ByVal Target As Range)
Dim iSect As Range, laplage As Range, c As Range
With [a2].CurrentRegion.Columns(1)
Set laplage = Range("a2", "a" & _
.Cells(.Cells.Count).Row).Offset(0, 4)
Set iSect = Intersect(Target, laplage)
If iSect Is Nothing Then Exit Sub
Range([h1].CurrentRegion.Rows(2), _
[h1].CurrentRegion.Rows(.Rows.Count)).Clear
For Each c In laplage.Cells
With [h1].CurrentRegion
If LCase(c) = "x" Then
Range(c.Offset(0, -4).Address, _
c.Offset(0, -1).Address).Copy _
Destination:=.Rows(.Rows.Count)(2)
End If
End With
Next
End With
End Sub
'lSteph
Bonsoir Daniel,
Mais si on continue à copier les données, le tableau en bleu sera
écrasé).
Et si la ligne 11 (pour le tableau en bleu) contient des données, la
ligne copiée sera écrite à la suite de cette dernière (ligne 12 ici) !
Comment procède-t-on pour traiter ces cas :
1 - S'il y'a un "x" dans la colonne E, la ligne correspondante sera
copié sans doublons dans le tableau d'à coté.
2 - Si on enlève le "x", la ligne désignée sera effacer du deuxième
tableau.
3 - Si on arrive à proximité d'une ligne du tableau bleu, on insère
une ligne blanche, avant de copier la ligne marquée par un "x".
Private Sub Worksheet_Change(ByVal Target As Range) Dim iSect As Range, laplage As Range, c As Range With [a2].CurrentRegion.Columns(1) Set laplage = Range("a2", "a" & _ .Cells(.Cells.Count).Row).Offset(0, 4)
Set iSect = Intersect(Target, laplage) If iSect Is Nothing Then Exit Sub
Range([h1].CurrentRegion.Rows(2), _ [h1].CurrentRegion.Rows(.Rows.Count)).Clear For Each c In laplage.Cells With [h1].CurrentRegion If LCase(c) = "x" Then Range(c.Offset(0, -4).Address, _ c.Offset(0, -1).Address).Copy _ Destination:=.Rows(.Rows.Count)(2) End If End With Next
End With End Sub
'lSteph
Bonsoir Daniel,
Mais si on continue à copier les données, le tableau en bleu sera écrasé).
Et si la ligne 11 (pour le tableau en bleu) contient des données, la ligne copiée sera écrite à la suite de cette dernière (ligne 12 ici) !
Comment procède-t-on pour traiter ces cas :
1 - S'il y'a un "x" dans la colonne E, la ligne correspondante sera copié sans doublons dans le tableau d'à coté.
2 - Si on enlève le "x", la ligne désignée sera effacer du deuxième tableau.
3 - Si on arrive à proximité d'une ligne du tableau bleu, on insère une ligne blanche, avant de copier la ligne marquée par un "x".
Ca marche très bien, sauf qu'il y'a un petit problème :
Parfois le remboursement des crédits se fait en deux, voir plusieurs tranches.
Jusqu'à maintenant je saisi ces données manuellement (sauf s'il existe une idée de le faire cette tache en vba !), donc pas de croix dans le premier tableau or la somme est saisie en sa totalité. Ce qui nous amène à voir ces données s'effacer du deuxième tableau avant que le code ne copie que les lignes marquées par une croix dans le premier tableau.
Y'a-t-il une solution à ce problème ?
Merci.
Bonjour L.Steph.
Ca marche très bien, sauf qu'il y'a un petit problème :
Parfois le remboursement des crédits se fait en deux, voir plusieurs
tranches.
Jusqu'à maintenant je saisi ces données manuellement (sauf s'il existe
une idée de le faire cette tache en vba !), donc pas de croix dans le
premier tableau or la somme est saisie en sa totalité. Ce qui nous
amène à voir ces données s'effacer du deuxième tableau avant que le
code ne copie que les lignes marquées par une croix dans le premier
tableau.
Ca marche très bien, sauf qu'il y'a un petit problème :
Parfois le remboursement des crédits se fait en deux, voir plusieurs tranches.
Jusqu'à maintenant je saisi ces données manuellement (sauf s'il existe une idée de le faire cette tache en vba !), donc pas de croix dans le premier tableau or la somme est saisie en sa totalité. Ce qui nous amène à voir ces données s'effacer du deuxième tableau avant que le code ne copie que les lignes marquées par une croix dans le premier tableau.
Y'a-t-il une solution à ce problème ?
Merci.
lSteph
Bonjour,
je ne comprends pas bien,
si tu saisis tes données dans le premier tableau elles sont dans le premier tableau , tant que tu n'as pas supprimé, collé par dessus ou entré une ou plusieurs croix à la fois dans la colonne cible, rien ne change dans le tableau2
peux tu préciser davantage ou mettre un exemple plus concret en http://cjoint.com et nous redonner le lien.
@+
lSteph
On 27 déc, 12:31, Apitos wrote:
Bonjour L.Steph.
Ca marche très bien, sauf qu'il y'a un petit problème :
Parfois le remboursement des crédits se fait en deux, voir plusieurs tranches.
Jusqu'à maintenant je saisi ces données manuellement (sauf s'il existe une idée de le faire cette tache en vba !), donc pas de croix dans le premier tableau or la somme est saisie en sa totalité. Ce qui nous amène à voir ces données s'effacer du deuxième tableau avant que l e code ne copie que les lignes marquées par une croix dans le premier tableau.
Y'a-t-il une solution à ce problème ?
Merci.
Bonjour,
je ne comprends pas bien,
si tu saisis tes données dans le premier tableau elles sont dans le
premier tableau ,
tant que tu n'as pas supprimé, collé par dessus ou entré
une ou plusieurs croix à la fois
dans la colonne cible, rien ne change dans le tableau2
peux tu préciser davantage ou mettre un exemple plus concret en
http://cjoint.com et nous redonner le lien.
@+
lSteph
On 27 déc, 12:31, Apitos <api...@gmail.com> wrote:
Bonjour L.Steph.
Ca marche très bien, sauf qu'il y'a un petit problème :
Parfois le remboursement des crédits se fait en deux, voir plusieurs
tranches.
Jusqu'à maintenant je saisi ces données manuellement (sauf s'il existe
une idée de le faire cette tache en vba !), donc pas de croix dans le
premier tableau or la somme est saisie en sa totalité. Ce qui nous
amène à voir ces données s'effacer du deuxième tableau avant que l e
code ne copie que les lignes marquées par une croix dans le premier
tableau.
si tu saisis tes données dans le premier tableau elles sont dans le premier tableau , tant que tu n'as pas supprimé, collé par dessus ou entré une ou plusieurs croix à la fois dans la colonne cible, rien ne change dans le tableau2
peux tu préciser davantage ou mettre un exemple plus concret en http://cjoint.com et nous redonner le lien.
@+
lSteph
On 27 déc, 12:31, Apitos wrote:
Bonjour L.Steph.
Ca marche très bien, sauf qu'il y'a un petit problème :
Parfois le remboursement des crédits se fait en deux, voir plusieurs tranches.
Jusqu'à maintenant je saisi ces données manuellement (sauf s'il existe une idée de le faire cette tache en vba !), donc pas de croix dans le premier tableau or la somme est saisie en sa totalité. Ce qui nous amène à voir ces données s'effacer du deuxième tableau avant que l e code ne copie que les lignes marquées par une croix dans le premier tableau.
Bonsoir, Ce que tu suggères soudain ne va plus déjà sur la position initiale Elle sort de la logique définie essentiellement sur le point 2 - si des lignes n'ont pas de x elles disparaissent (relis ton article2) il ne peut donc y avoir plus de lignes dans le tableau2 que dans le 1 car toute ligne qui n'a pas de x est supprimée. Donc toute ligne qui serait dans le tanbleau2 alors qu'elle n'est plus dans le tableau1 n'a frorcément pas de x , aussi en toute logique elle disparait...!
2 - Si on enlève le "x", la ligne désignée sera effacer du deuxième tableau.
Ensuite c'est donc dans le tableau1 que tu dois faire attention..
3 - Si on arrive à proximité d'une ligne du tableau bleu, on insère une ligne blanche, avant de copier la ligne marquée par un "x". avant d'ajouter des données dans le tableau1 si tu vois que tu vas
toucher celui d'en dessous ....insère donc une ligne..non?
@+
-- lSteph
Bonsoir,
Peut-être que ce fichier explique quelque chose :
http://cjoint.com/?mBtpd1EkvL
Merci.
Bonsoir,
Ce que tu suggères soudain ne va plus
déjà sur la position initiale
Elle sort de la logique définie essentiellement sur le point 2 -
si des lignes n'ont pas de x elles disparaissent (relis ton article2)
il ne peut donc y avoir plus de lignes dans le tableau2 que dans le 1
car toute ligne qui n'a pas de x est supprimée.
Donc toute ligne qui serait dans le tanbleau2 alors qu'elle n'est plus
dans le tableau1 n'a frorcément pas de x , aussi en toute logique
elle disparait...!
2 - Si on enlève le "x", la ligne désignée sera effacer du deuxième
tableau.
Ensuite c'est donc dans le tableau1 que tu dois faire attention..
3 - Si on arrive à proximité d'une ligne du tableau bleu, on insère
une ligne blanche, avant de copier la ligne marquée par un "x".
avant d'ajouter des données dans le tableau1 si tu vois que tu vas
toucher celui d'en dessous ....insère donc une ligne..non?
Bonsoir, Ce que tu suggères soudain ne va plus déjà sur la position initiale Elle sort de la logique définie essentiellement sur le point 2 - si des lignes n'ont pas de x elles disparaissent (relis ton article2) il ne peut donc y avoir plus de lignes dans le tableau2 que dans le 1 car toute ligne qui n'a pas de x est supprimée. Donc toute ligne qui serait dans le tanbleau2 alors qu'elle n'est plus dans le tableau1 n'a frorcément pas de x , aussi en toute logique elle disparait...!
2 - Si on enlève le "x", la ligne désignée sera effacer du deuxième tableau.
Ensuite c'est donc dans le tableau1 que tu dois faire attention..
3 - Si on arrive à proximité d'une ligne du tableau bleu, on insère une ligne blanche, avant de copier la ligne marquée par un "x". avant d'ajouter des données dans le tableau1 si tu vois que tu vas
toucher celui d'en dessous ....insère donc une ligne..non?
@+
-- lSteph
Bonsoir,
Peut-être que ce fichier explique quelque chose :
http://cjoint.com/?mBtpd1EkvL
Merci.
Apitos
Bonsoir,
Ce que tu suggères soudain ne va plus déjà sur la position initiale Elle sort de la logique définie essentiellement sur le point 2 - si des lignes n'ont pas de x elles disparaissent (relis ton article2) il ne peut donc y avoir plus de lignes dans le tableau2 que dans le 1 car toute ligne qui n'a pas de x est supprimée. Donc toute ligne qui serait dans le tanbleau2 alors qu'elle n'est plus dans le tableau1 n'a frorcément pas de x , aussi en toute logique elle disparait...!
Oui vue de cet ongle tu as raison.
Mais, le remboursement d'une somme creditée n'est pas forcémént fait en sa totalite en une seule fois dans tout les cas.
Alors, j'ai pensé à integrer ce cas. ALors surement
2 - Si on enlève le "x", la ligne désignée sera effacer du deuxi ème tableau.
Par exemple, j'enleve le "x" si je me suis trompé sur la ligne à copier.
avant d'ajouter des données dans le tableau1 si tu vois que tu vas toucher celui d'en dessous ....insère donc une ligne..non?
L'insertion d'un ligne vide au dessus du tableau1 se fera manuellement.
Mais celle du tableau2 ce fait automatiquement.
Bonsoir,
Ce que tu suggères soudain ne va plus
déjà sur la position initiale
Elle sort de la logique définie essentiellement sur le point 2 -
si des lignes n'ont pas de x elles disparaissent (relis ton article2)
il ne peut donc y avoir plus de lignes dans le tableau2 que dans le 1
car toute ligne qui n'a pas de x est supprimée.
Donc toute ligne qui serait dans le tanbleau2 alors qu'elle n'est plus
dans le tableau1 n'a frorcément pas de x , aussi en toute logique
elle disparait...!
Oui vue de cet ongle tu as raison.
Mais, le remboursement d'une somme creditée n'est pas forcémént fait
en sa totalite en une seule fois dans tout les cas.
Alors, j'ai pensé à integrer ce cas.
ALors surement
2 - Si on enlève le "x", la ligne désignée sera effacer du deuxi ème
tableau.
Par exemple, j'enleve le "x" si je me suis trompé sur la ligne à
copier.
avant d'ajouter des données dans le tableau1 si tu vois que tu vas
toucher celui d'en dessous ....insère donc une ligne..non?
L'insertion d'un ligne vide au dessus du tableau1 se fera
manuellement.
Ce que tu suggères soudain ne va plus déjà sur la position initiale Elle sort de la logique définie essentiellement sur le point 2 - si des lignes n'ont pas de x elles disparaissent (relis ton article2) il ne peut donc y avoir plus de lignes dans le tableau2 que dans le 1 car toute ligne qui n'a pas de x est supprimée. Donc toute ligne qui serait dans le tanbleau2 alors qu'elle n'est plus dans le tableau1 n'a frorcément pas de x , aussi en toute logique elle disparait...!
Oui vue de cet ongle tu as raison.
Mais, le remboursement d'une somme creditée n'est pas forcémént fait en sa totalite en une seule fois dans tout les cas.
Alors, j'ai pensé à integrer ce cas. ALors surement
2 - Si on enlève le "x", la ligne désignée sera effacer du deuxi ème tableau.
Par exemple, j'enleve le "x" si je me suis trompé sur la ligne à copier.
avant d'ajouter des données dans le tableau1 si tu vois que tu vas toucher celui d'en dessous ....insère donc une ligne..non?
L'insertion d'un ligne vide au dessus du tableau1 se fera manuellement.
Mais celle du tableau2 ce fait automatiquement.
LSteph
Suggestions:
Mais, le remboursement d'une somme creditée n'est pas forcémént fait en sa totalite en une seule fois dans tout les cas.
tu gardes la 1ère somme au chaud dans le tableau1 quand c'est complet tu rectifies et mets le x
L'insertion d'un ligne vide au dessus du tableau1 se fera manuellement.
Mais celle du tableau2 ce fait automatiquement.
Non, les deux en même temps, quand tu vois que le 1 (qui a forcément toujours autant ou plus de lignes que le 2) va toucher celui d'en dessous tu ajoutes la ligne pour toute la largeur de ta feuille.
Cordialement.
-- lSteph
Suggestions:
Mais, le remboursement d'une somme creditée n'est pas forcémént fait
en sa totalite en une seule fois dans tout les cas.
tu gardes la 1ère somme au chaud dans le tableau1
quand c'est complet tu rectifies et mets le x
L'insertion d'un ligne vide au dessus du tableau1 se fera
manuellement.
Mais celle du tableau2 ce fait automatiquement.
Non, les deux en même temps, quand tu vois que le 1
(qui a forcément toujours autant ou plus de lignes que le 2)
va toucher celui d'en dessous tu ajoutes la ligne pour toute la largeur
de ta feuille.
Mais, le remboursement d'une somme creditée n'est pas forcémént fait en sa totalite en une seule fois dans tout les cas.
tu gardes la 1ère somme au chaud dans le tableau1 quand c'est complet tu rectifies et mets le x
L'insertion d'un ligne vide au dessus du tableau1 se fera manuellement.
Mais celle du tableau2 ce fait automatiquement.
Non, les deux en même temps, quand tu vois que le 1 (qui a forcément toujours autant ou plus de lignes que le 2) va toucher celui d'en dessous tu ajoutes la ligne pour toute la largeur de ta feuille.