Répéter le contenu d'une ligne
Résolu
Serocelot
-
Serocelot -
Serocelot -
Bonjour à tous !
J'aurais besoin d'un petit coup de main.
Je souhaiterais répéter le contenu de toute une ligne en fonction de ce que je rentre dans ma première colonne.
Par ex, j'ai une liste de personnes.
Si je tape le nom d'une fille dans la colonne A et que ce nom existe déjà dans mon tableau, j'aimerais que les colonnes B et C reportent automatiquement les infos déja rentrées dans le tableau pour cette fille.
Voilàààà, j'espère être clair !
Merci pour votre aide !
J'aurais besoin d'un petit coup de main.
Je souhaiterais répéter le contenu de toute une ligne en fonction de ce que je rentre dans ma première colonne.
Par ex, j'ai une liste de personnes.
Si je tape le nom d'une fille dans la colonne A et que ce nom existe déjà dans mon tableau, j'aimerais que les colonnes B et C reportent automatiquement les infos déja rentrées dans le tableau pour cette fille.
Voilàààà, j'espère être clair !
Merci pour votre aide !
A voir également:
- Répéter le contenu d'une ligne
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Aller à la ligne excel - Guide
- Fusionner deux cellules excel en gardant le contenu - Guide
- Word a trouvé du contenu illisible - Guide
6 réponses
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.
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+
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)
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
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.
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
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 !