Répéter le contenu d'une ligne
Résolu/Fermé
A voir également:
- Répéter le contenu d'une ligne
- Aller à la ligne excel - Guide
- Site de vente en ligne particulier - Guide
- Partager photos en ligne - Guide
- Word a trouvé du contenu illisible - Guide
- Apparaitre hors ligne instagram - Guide
6 réponses
Mike-31
Messages postés
18346
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 novembre 2024
5 104
Modifié par Mike-31 le 12/09/2016 à 13:01
Modifié par Mike-31 le 12/09/2016 à 13:01
Bonjour,
Pour ma part, avant de répondre à côté de la plaque je voudrais comprendre et si possible voir ton fichier anonymisé
ou est ton tableau initial
et dans la cas d'absence d'un nom que se passe t il
1) Clic sur ce lien https://www.cjoint.com/
2) Clic sur le bouton Parcourir pour sélectionner ton fichier
3) Clic sur le bouton Créer le lien en bas de la page
4) Au bout de quelques secondes en haut de la page en bleu souligné un lien sera généré, tu le sélectionnes et tu le copies dans une réponse
A+
Mike-31
Pas savoir n'est pas un échec, l'échec est le refus d'apprendre.
Pour ma part, avant de répondre à côté de la plaque je voudrais comprendre et si possible voir ton fichier anonymisé
ou est ton tableau initial
et dans la cas d'absence d'un nom que se passe t il
1) Clic sur ce lien https://www.cjoint.com/
2) Clic sur le bouton Parcourir pour sélectionner ton fichier
3) Clic sur le bouton Créer le lien en bas de la page
4) Au bout de quelques secondes en haut de la page en bleu souligné un lien sera généré, tu le sélectionnes et tu le copies dans une réponse
A+
Mike-31
Pas savoir n'est pas un échec, l'échec est le refus d'apprendre.
Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
523
12 sept. 2016 à 13:10
12 sept. 2016 à 13:10
Bonjour,
Code à placer dans la module de la feuille concernée :
A+
Code à placer dans la module de la feuille concernée :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
If Target.Count > 1 Then Exit Sub
If Target.Column = 1 Then
If Application.CountIf(Columns(1), Target) > 1 Then
Set C = Columns(1).Find(Target.Value, Range("A" & Rows.Count), xlValues, xlWhole)
If Not C Is Nothing Then
C.Offset(, 1).Resize(, 2).Copy Target.Offset(, 1)
End If
End If
End If
End Sub
A+
Mike-31
Messages postés
18346
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 novembre 2024
5 104
12 sept. 2016 à 14:13
12 sept. 2016 à 14:13
Re,
Pour faire ce que tu veux il faut passer par du VBA et d'après ton petit tableau il suffit simplement copier le code de Cyrus que je salue;
pour cela clic droit sur l'onglet de ta feuille/Visualiser le code et coller le code.
toutefois remplacer ou modifier cette ligne
C.Offset(, 1).Resize(, 2).Copy Target.Offset(, 1)
par
C.Offset(, 1).Resize(, 4).Copy Target.Offset(, 1)
Pour faire ce que tu veux il faut passer par du VBA et d'après ton petit tableau il suffit simplement copier le code de Cyrus que je salue;
pour cela clic droit sur l'onglet de ta feuille/Visualiser le code et coller le code.
toutefois remplacer ou modifier cette ligne
C.Offset(, 1).Resize(, 2).Copy Target.Offset(, 1)
par
C.Offset(, 1).Resize(, 4).Copy Target.Offset(, 1)
Mike-31
Messages postés
18346
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 novembre 2024
5 104
Modifié par Mike-31 le 12/09/2016 à 14:28
Modifié par Mike-31 le 12/09/2016 à 14:28
Re,
oui, c'est cela
C. est la ligne de balayage
C.Offset(, 1) ou C.Offset(0, 1) 1 est la première cellule à droite de la colonne de balayage
.Resize(, 4) ou .Resize(0, 4) jusqu' la 4éme cellule à droite de la colonne de balayage ou plus précisément jusqu'à la quatrième cellule à droite, autrement dit copie de la 1ére cellule de la valeur trouvée jusqu'à la 4éme cellule
C.Offset(0, 1).Resize(0, 4).Copy
et Target.Offset(, 1) ou Target.Offset(0, 1) en fait colle à partir de la 1ére cellule à droite de la cellule de saisie Target les données trouvées
https://www.cjoint.com/c/FImmCKuoP5j
A+
Mike-31
Pas savoir n'est pas un échec, l'échec est le refus d'apprendre.
oui, c'est cela
C. est la ligne de balayage
C.Offset(, 1) ou C.Offset(0, 1) 1 est la première cellule à droite de la colonne de balayage
.Resize(, 4) ou .Resize(0, 4) jusqu' la 4éme cellule à droite de la colonne de balayage ou plus précisément jusqu'à la quatrième cellule à droite, autrement dit copie de la 1ére cellule de la valeur trouvée jusqu'à la 4éme cellule
C.Offset(0, 1).Resize(0, 4).Copy
et Target.Offset(, 1) ou Target.Offset(0, 1) en fait colle à partir de la 1ére cellule à droite de la cellule de saisie Target les données trouvées
https://www.cjoint.com/c/FImmCKuoP5j
A+
Mike-31
Pas savoir n'est pas un échec, l'échec est le refus d'apprendre.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mike-31
Messages postés
18346
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 novembre 2024
5 104
Modifié par Mike-31 le 12/09/2016 à 14:51
Modifié par Mike-31 le 12/09/2016 à 14:51
Re,
quel est ta colonne critère qui est censée déclenchée le code, j'imagine la C es ce bien cela
tu saisis exemple Banane et tu veux copier les renseignements de D à J c'est cela
A+
Mike-31
Pas savoir n'est pas un échec, l'échec est le refus d'apprendre.
quel est ta colonne critère qui est censée déclenchée le code, j'imagine la C es ce bien cela
tu saisis exemple Banane et tu veux copier les renseignements de D à J c'est cela
A+
Mike-31
Pas savoir n'est pas un échec, l'échec est le refus d'apprendre.
Mike-31
Messages postés
18346
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 novembre 2024
5 104
12 sept. 2016 à 15:33
12 sept. 2016 à 15:33
Re,
je dois sortir, remplace ou colle ce code dans les propriétés de ta feuille
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
If Target.Count > 1 Then Exit Sub
If Target.Column = 3 Then
If Application.CountIf(Columns(3), Target) > 1 Then
Set C = Columns(3).Find(Target.Value, Range("C" & Rows.Count), xlValues, xlWhole)
If Not C Is Nothing Then
C.Offset(, 1).Resize(, 7).Copy Target.Offset(, 1)
End If
End If
End If
End Sub
je dois sortir, remplace ou colle ce code dans les propriétés de ta feuille
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
If Target.Count > 1 Then Exit Sub
If Target.Column = 3 Then
If Application.CountIf(Columns(3), Target) > 1 Then
Set C = Columns(3).Find(Target.Value, Range("C" & Rows.Count), xlValues, xlWhole)
If Not C Is Nothing Then
C.Offset(, 1).Resize(, 7).Copy Target.Offset(, 1)
End If
End If
End If
End Sub
12 sept. 2016 à 13:45
http://www.cjoint.com/c/FImlSsjTRt5
Les colonnes A et B ne doivent pas être répétées, il faut que si je remets le même prénom en C, les colonnes D et E se complètent automatiquement avec les infos déjà rentrées avant !
Merci encore !