Rechercher et copier une ligne en gardant la mise en forme
Résolu/Fermé
gnoux 18
Messages postés
8
Date d'inscription
mardi 11 février 2014
Statut
Membre
Dernière intervention
17 février 2014
-
11 févr. 2014 à 18:08
gnoux 18 Messages postés 8 Date d'inscription mardi 11 février 2014 Statut Membre Dernière intervention 17 février 2014 - 17 févr. 2014 à 23:48
gnoux 18 Messages postés 8 Date d'inscription mardi 11 février 2014 Statut Membre Dernière intervention 17 février 2014 - 17 févr. 2014 à 23:48
A voir également:
- Rechercher et copier une ligne en gardant la mise en forme
- Mise en forme conditionnelle excel - Guide
- Rechercher ou entrer l'adresse - Guide
- Mise en forme tableau word - Guide
- Site de vente en ligne particulier - Guide
- Partager photos en ligne - Guide
13 réponses
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
11 févr. 2014 à 19:02
11 févr. 2014 à 19:02
Bonjour
Tu peux envoyer une partie de ton fichier (avec quelques lignes tout de même) au format excel 2003 sur cjoint.com et joindre le lien obtenu à ton prochain message
Cordialement
Tu peux envoyer une partie de ton fichier (avec quelques lignes tout de même) au format excel 2003 sur cjoint.com et joindre le lien obtenu à ton prochain message
Cordialement
gnoux 18
Messages postés
8
Date d'inscription
mardi 11 février 2014
Statut
Membre
Dernière intervention
17 février 2014
11 févr. 2014 à 21:21
11 févr. 2014 à 21:21
Deja merci a toi ccm81.
j'ai mis le fichier avec la formule rechercheV que j'ai fait. c'est un extrait, mon original compte 1200 lignes....
je voudrais la meme chose mais en conservant les largeurs de colonne, la mise en page dans les cellules,etc...
merci d'avance
https://www.cjoint.com/?3BlvrEIv73e
j'ai mis le fichier avec la formule rechercheV que j'ai fait. c'est un extrait, mon original compte 1200 lignes....
je voudrais la meme chose mais en conservant les largeurs de colonne, la mise en page dans les cellules,etc...
merci d'avance
https://www.cjoint.com/?3BlvrEIv73e
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
12 févr. 2014 à 15:14
12 févr. 2014 à 15:14
Bonjour
Un début de réponse?
https://www.cjoint.com/?3BmpnQMFVXs
Cdlmnt
Un début de réponse?
https://www.cjoint.com/?3BmpnQMFVXs
Cdlmnt
gnoux 18
Messages postés
8
Date d'inscription
mardi 11 février 2014
Statut
Membre
Dernière intervention
17 février 2014
12 févr. 2014 à 18:17
12 févr. 2014 à 18:17
c'est un tres bon debut !!! c'est exactement ce que je veux faire, mais l'idee est d'automatiser le truc, car en fait ma liste fait 1200 ligne si je dois cliquer sur tous
ca va etre long, mais deja je vais gagner un temps fou par rapport a manulement comme je fais en ce moment.
Si tu a mieux ce serait formidable !
je ne vois pas ta formule ni ta macro dans une case pour la transpose dans mon fichie principal elle est ou ?
ca va etre long, mais deja je vais gagner un temps fou par rapport a manulement comme je fais en ce moment.
Si tu a mieux ce serait formidable !
je ne vois pas ta formule ni ta macro dans une case pour la transpose dans mon fichie principal elle est ou ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
12 févr. 2014 à 18:59
12 févr. 2014 à 18:59
Comme ceci?
https://www.cjoint.com/?DBms6IVjvtp
https://www.cjoint.com/?DBms6IVjvtp
gnoux 18
Messages postés
8
Date d'inscription
mardi 11 février 2014
Statut
Membre
Dernière intervention
17 février 2014
Modifié par gnoux 18 le 12/02/2014 à 21:23
Modifié par gnoux 18 le 12/02/2014 à 21:23
un grand merci beaucoup c'est parfait.
je vais gagner un temps fou.
Maintenant il faut que je le mette dans mon fichier et que je rajoute les onglets supplementaires. Cela va t il poser probleme parce que la ca marche poa!
Si je rajoute des onglets (12 en plus) dans lesquels je ferai des copies a partir de "PROTOCOLE" dans mon fichier il faut que je change le nom des feuilles FPRO et FPRE au debut de la macro ?
Désolé mais je ne peux pas te mettre mon fichier source.
Encore un grand merci ccm81 pour le temps passé. je n'ai aucune idee du temps qu'il faut pour creer cette macro mais je sais combien de temps elle va me faire gagner !!
gnoux 18
je vais gagner un temps fou.
Maintenant il faut que je le mette dans mon fichier et que je rajoute les onglets supplementaires. Cela va t il poser probleme parce que la ca marche poa!
Si je rajoute des onglets (12 en plus) dans lesquels je ferai des copies a partir de "PROTOCOLE" dans mon fichier il faut que je change le nom des feuilles FPRO et FPRE au debut de la macro ?
Désolé mais je ne peux pas te mettre mon fichier source.
Encore un grand merci ccm81 pour le temps passé. je n'ai aucune idee du temps qu'il faut pour creer cette macro mais je sais combien de temps elle va me faire gagner !!
gnoux 18
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
Modifié par ccm81 le 13/02/2014 à 09:35
Modifié par ccm81 le 13/02/2014 à 09:35
Si je rajoute des onglets (12 en plus) dans lesquels je ferai des copies a partir de "PROTOCOLE" dans mon fichier il faut que je change le nom des feuilles FPRO et FPRE au debut de la macro ?
Si FPRO reste la feuille base de données
il te suffir dans la macro de remplacer
Sheets(FPRO).Rows(lis & ":" & lis).Copy Sheets(FPRE).Rows(li & ":" & li)
par
Sheets(FPRO).Rows(lis & ":" & lis).Copy ActiveSheet.Rows(li & ":" & li)
Si FPRO doit changer, on peut demander en début de procedure de donner le nom de la feuille
Bonne journée
Si FPRO reste la feuille base de données
il te suffir dans la macro de remplacer
Sheets(FPRO).Rows(lis & ":" & lis).Copy Sheets(FPRE).Rows(li & ":" & li)
par
Sheets(FPRO).Rows(lis & ":" & lis).Copy ActiveSheet.Rows(li & ":" & li)
Si FPRO doit changer, on peut demander en début de procedure de donner le nom de la feuille
Bonne journée
gnoux 18
Messages postés
8
Date d'inscription
mardi 11 février 2014
Statut
Membre
Dernière intervention
17 février 2014
13 févr. 2014 à 19:19
13 févr. 2014 à 19:19
bonsoir,
quand j'execute la macro dans mon fichier ca bug et le debogage me dit que ca plante ici en gras
Option Explicit
Public Const FPRO = "PROTOCOLE"
Public Const plagesys = "cosysteme"
Public Const FPRE = "PREPA"
Public Sub Transfert(sys As String, li As Long)
Dim plage As Range, lis As Long
Dim s As Object
Dim Tsy
' definir la plage systeme
Set plage = Sheets(FPRO).Range(plagesys)
' recherche de sys dans plage
Set s= plage.Find(sys, , , xlWhole)
' si sys pas trouve erreur
If s Is Nothing Then
MsgBox "erreur dans l'intitule du systeme"
Exit Sub
End If
' copier la ligne trouvée feuille FPRO dans la feuille FPRE
lis = s.Row
Sheets(FPRO).Rows(lis & ":" & lis).Copy ActiveSheet.Rows(li & ":" & li)
End Sub
Public Sub Kopier()
Dim c As Range
Application.ScreenUpdating = False
For Each c In Selection
Call Transfert(c.Value, c.Row)
Next c
Application.ScreenUpdating = True
End Sub
merci de ton aide
quand j'execute la macro dans mon fichier ca bug et le debogage me dit que ca plante ici en gras
Option Explicit
Public Const FPRO = "PROTOCOLE"
Public Const plagesys = "cosysteme"
Public Const FPRE = "PREPA"
Public Sub Transfert(sys As String, li As Long)
Dim plage As Range, lis As Long
Dim s As Object
Dim Tsy
' definir la plage systeme
Set plage = Sheets(FPRO).Range(plagesys)
' recherche de sys dans plage
Set s= plage.Find(sys, , , xlWhole)
' si sys pas trouve erreur
If s Is Nothing Then
MsgBox "erreur dans l'intitule du systeme"
Exit Sub
End If
' copier la ligne trouvée feuille FPRO dans la feuille FPRE
lis = s.Row
Sheets(FPRO).Rows(lis & ":" & lis).Copy ActiveSheet.Rows(li & ":" & li)
End Sub
Public Sub Kopier()
Dim c As Range
Application.ScreenUpdating = False
For Each c In Selection
Call Transfert(c.Value, c.Row)
Next c
Application.ScreenUpdating = True
End Sub
merci de ton aide
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
13 févr. 2014 à 19:47
13 févr. 2014 à 19:47
Dans la feuille PROTOCOLE
il te faut définir la plage nommée cosysteme
cosysteme=DECALER(PROTOCOLE!$A$2;0;0;NBVAL(PROTOCOLE!$A:$A)-1;1)
si ça te pose un problème tu peux remplacer dans le code
Public Const plagesys = "cosysteme"
par
Public Const plagesys = "A:A"
il te faut définir la plage nommée cosysteme
cosysteme=DECALER(PROTOCOLE!$A$2;0;0;NBVAL(PROTOCOLE!$A:$A)-1;1)
si ça te pose un problème tu peux remplacer dans le code
Public Const plagesys = "cosysteme"
par
Public Const plagesys = "A:A"
gnoux 18
Messages postés
8
Date d'inscription
mardi 11 février 2014
Statut
Membre
Dernière intervention
17 février 2014
13 févr. 2014 à 23:37
13 févr. 2014 à 23:37
Et bien un grand merci ccm81 mon fichier de 1200 lignes est a jour grace a toi en une soiree alors qu'il aurait fallu 2-3 semaines pour le faire manuelement.
je vais donc marque le sujet resolu.
peut etre a une prochaine,
toute ces manips m'ont bien fait progresse.
Encore merci.
je vais donc marque le sujet resolu.
peut etre a une prochaine,
toute ces manips m'ont bien fait progresse.
Encore merci.
gnoux 18
Messages postés
8
Date d'inscription
mardi 11 février 2014
Statut
Membre
Dernière intervention
17 février 2014
Modifié par gnoux 18 le 15/02/2014 à 23:56
Modifié par gnoux 18 le 15/02/2014 à 23:56
bonsoir ccm81
Tout marche bien mais juste un petit truc, au lieu de copier toute la ligne puis-je limiter la copie aux colonnes B à K de la ligne concernée ?
Je suppose qu'il faut changer dans cette ligne :
' copier la ligne trouvée feuille FPRO dans la feuille FPRE
lis = s.Row
Sheets(FPRO).Rows(lis & ":" & lis).Copy ActiveSheet.Rows(li & ":" & li)
End Sub
merci.
Tout marche bien mais juste un petit truc, au lieu de copier toute la ligne puis-je limiter la copie aux colonnes B à K de la ligne concernée ?
Je suppose qu'il faut changer dans cette ligne :
' copier la ligne trouvée feuille FPRO dans la feuille FPRE
lis = s.Row
Sheets(FPRO).Rows(lis & ":" & lis).Copy ActiveSheet.Rows(li & ":" & li)
End Sub
merci.
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
Modifié par ccm81 le 17/02/2014 à 20:39
Modifié par ccm81 le 17/02/2014 à 20:39
Ajouter à la liste des constantes
puis remplacer
Bonne suite
Public Const codeb = "B"
Public Const cofin = "K"
puis remplacer
Sheets(FPRO).Rows(lis & ":" & lis).Copy ActiveSheet.Rows(li & ":" & li)par (tout sur la même ligne)
Sheets(FPRO).Range(codeb & lis & ":" & cofin & lis).Copy ActiveSheet.Range(codeb & li)
Bonne suite
gnoux 18
Messages postés
8
Date d'inscription
mardi 11 février 2014
Statut
Membre
Dernière intervention
17 février 2014
17 févr. 2014 à 23:48
17 févr. 2014 à 23:48
de nouveau un grand merci ca marche nickel.