bonjour je republie mon post
j ai l air d insister mais je suis vraiment coiné et il faut que je trouve
une solution rapidement
je suis debutant et je bute sur un truc pourtant tout simple
soit un classeur avec plusieurs feuille. la feuille n°1 contient des
donnees que je voudrais recopier sur l'une ou l'autre des autres feuilles du
classeur
en fonction d'un code present dans la 1° cellule de la 1° feuille. ....
la formule avec SI fonctionne tres bien, mais en recopiant les données sur
une seule autre feuille
.
il s agit d une liste de personnes exercant divers metiers (codification
insee) et je voudrais les repartir sur les feuilles de mon classeur en
fonction de leur code insee.avec un code insee par feuille
dans le meme ordre d idee, comment faire pour automatiser ma saisie. en
effet chaque personnes depend d'une corporation eje voudrais que lors de la
saisie, on ne soit pas obligé de saisir à chaque fois la corporation et
toutes ses coordonnées (8 champs). je pense faire une table et attribuer à
chacun une clef et il suffirait alors de taper cette clef pour completer
automatiquement les 8 cases de ma feuille, mais alors la j'avoue, je
nage....
merci de votre aide
avec mes excuses pour mon insistance
je reste a ta dispo si tu veux plus de renseignement
merci beaucoup par avance
Michel
francois.forcet
Rebonjours Michel
Je te propose tout d'abord ce code :
Donnée = InputBox("Saisisez la donnée", "Donnée(s) recherchée(s)") Onglet = InputBox("Saissisez l'onglet de destination", "Nom de l'onglet") For i = 1 To Sheets.Count If Sheets(i).Name = Onglet Then Existant = 1 End If Next If Donnée <> "" And Onglet <> "" And Existant = 1 Then For Each c In Worksheets("Feuil1").Range(ActiveCell, Range(Cells(65535, ActiveCell.Column).Address).End(xlUp)) If c Like Donnée Then c.EntireRow.Copy Sheets(Onglet).Range("A65535").End(xlUp).Offset(1, 0) End If Next End If If Existant <> 1 And Onglet <> "" Then MsgBox ("L'onglet : " & Onglet & " est inexistant") End If
Aprés avoir sélectionné la 1° cellule de la colonne concerné par l a recherche (Cellule A1 Feuil1 pour la recherche code Insee par exemple) Le code éxécuté demandera la donnée de recherche :
Toutes données commençant par 123 il faut saisir 123* Toutes données se terminant par 123 il faut saisir *123 Toutes données contenant 123 il faut saisir *123* Toutes données = 123 il faut saisir 123
Ce code demandera ensuite le nom de l'onglet de destination
Si l'onglet existe recopie dans celui-ci de toutes les lignes correspondant à la donnée sinon un message avertissant l'absence de l'onglet
Ensuite Feuil1 colonne U j'ai mis des chiffres Dans le VBA de Feuil5 je te propose ce code :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Run ("Etablissement") End Sub
Et dans une Macro nommé "Etablissement" ce code :
For Each c In Worksheets("Feuil1").Range("U1", "U" & Sheets("Feuil1").Range("U65535").End(xlUp).Row) If c = ActiveCell Then Sheets("Feuil1").Range("P" & c.Row, "T" & c.Row).Copy ActiveCell.Offset(0, 1) End If Next End Sub
Dans Feuil5 une saisie dans une cellule d'un des codes de la colonne U Feuil1 par doubleClick sur cette cellule rapportera dans les cellules suivantes toutes les données colonne P à T Feuil1 de la ligne correspondant au code saisi colonne U Feuil1
Donnée = InputBox("Saisisez la donnée", "Donnée(s) recherchée(s)")
Onglet = InputBox("Saissisez l'onglet de destination", "Nom de
l'onglet")
For i = 1 To Sheets.Count
If Sheets(i).Name = Onglet Then
Existant = 1
End If
Next
If Donnée <> "" And Onglet <> "" And Existant = 1 Then
For Each c In Worksheets("Feuil1").Range(ActiveCell,
Range(Cells(65535, ActiveCell.Column).Address).End(xlUp))
If c Like Donnée Then
c.EntireRow.Copy Sheets(Onglet).Range("A65535").End(xlUp).Offset(1, 0)
End If
Next
End If
If Existant <> 1 And Onglet <> "" Then
MsgBox ("L'onglet : " & Onglet & " est inexistant")
End If
Aprés avoir sélectionné la 1° cellule de la colonne concerné par l a
recherche (Cellule A1 Feuil1 pour la recherche code Insee par exemple)
Le code éxécuté demandera la donnée de recherche :
Toutes données commençant par 123 il faut saisir 123*
Toutes données se terminant par 123 il faut saisir *123
Toutes données contenant 123 il faut saisir *123*
Toutes données = 123 il faut saisir 123
Ce code demandera ensuite le nom de l'onglet de destination
Si l'onglet existe recopie dans celui-ci de toutes les lignes
correspondant à la donnée
sinon un message avertissant l'absence de l'onglet
Ensuite Feuil1 colonne U j'ai mis des chiffres
Dans le VBA de Feuil5 je te propose ce code :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
Run ("Etablissement")
End Sub
Et dans une Macro nommé "Etablissement" ce code :
For Each c In Worksheets("Feuil1").Range("U1", "U" &
Sheets("Feuil1").Range("U65535").End(xlUp).Row)
If c = ActiveCell Then
Sheets("Feuil1").Range("P" & c.Row, "T" & c.Row).Copy
ActiveCell.Offset(0, 1)
End If
Next
End Sub
Dans Feuil5 une saisie dans une cellule d'un des codes de la colonne U
Feuil1 par doubleClick sur cette cellule rapportera dans les cellules
suivantes toutes les données colonne P à T Feuil1 de la ligne
correspondant au code saisi colonne U Feuil1
Donnée = InputBox("Saisisez la donnée", "Donnée(s) recherchée(s)") Onglet = InputBox("Saissisez l'onglet de destination", "Nom de l'onglet") For i = 1 To Sheets.Count If Sheets(i).Name = Onglet Then Existant = 1 End If Next If Donnée <> "" And Onglet <> "" And Existant = 1 Then For Each c In Worksheets("Feuil1").Range(ActiveCell, Range(Cells(65535, ActiveCell.Column).Address).End(xlUp)) If c Like Donnée Then c.EntireRow.Copy Sheets(Onglet).Range("A65535").End(xlUp).Offset(1, 0) End If Next End If If Existant <> 1 And Onglet <> "" Then MsgBox ("L'onglet : " & Onglet & " est inexistant") End If
Aprés avoir sélectionné la 1° cellule de la colonne concerné par l a recherche (Cellule A1 Feuil1 pour la recherche code Insee par exemple) Le code éxécuté demandera la donnée de recherche :
Toutes données commençant par 123 il faut saisir 123* Toutes données se terminant par 123 il faut saisir *123 Toutes données contenant 123 il faut saisir *123* Toutes données = 123 il faut saisir 123
Ce code demandera ensuite le nom de l'onglet de destination
Si l'onglet existe recopie dans celui-ci de toutes les lignes correspondant à la donnée sinon un message avertissant l'absence de l'onglet
Ensuite Feuil1 colonne U j'ai mis des chiffres Dans le VBA de Feuil5 je te propose ce code :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Run ("Etablissement") End Sub
Et dans une Macro nommé "Etablissement" ce code :
For Each c In Worksheets("Feuil1").Range("U1", "U" & Sheets("Feuil1").Range("U65535").End(xlUp).Row) If c = ActiveCell Then Sheets("Feuil1").Range("P" & c.Row, "T" & c.Row).Copy ActiveCell.Offset(0, 1) End If Next End Sub
Dans Feuil5 une saisie dans une cellule d'un des codes de la colonne U Feuil1 par doubleClick sur cette cellule rapportera dans les cellules suivantes toutes les données colonne P à T Feuil1 de la ligne correspondant au code saisi colonne U Feuil1
Donnée = InputBox("Saisisez la donnée", "Donnée(s) recherchée(s)") Onglet = InputBox("Saissisez l'onglet de destination", "Nom de l'onglet") For i = 1 To Sheets.Count If Sheets(i).Name = Onglet Then Existant = 1 End If Next If Donnée <> "" And Onglet <> "" And Existant = 1 Then For Each c In Worksheets("Feuil1").Range(ActiveCell, Range(Cells(65535, ActiveCell.Column).Address).End(xlUp)) If c Like Donnée Then c.EntireRow.Copy Sheets(Onglet).Range("A65535").End(xlUp).Offset(1, 0) End If Next End If If Existant <> 1 And Onglet <> "" Then MsgBox ("L'onglet : " & Onglet & " est inexistant") End If
Aprés avoir sélectionné la 1° cellule de la colonne concerné par la recherche (Cellule A1 Feuil1 pour la recherche code Insee par exemple) Le code éxécuté demandera la donnée de recherche :
Toutes données commençant par 123 il faut saisir 123* Toutes données se terminant par 123 il faut saisir *123 Toutes données contenant 123 il faut saisir *123* Toutes données = 123 il faut saisir 123
Ce code demandera ensuite le nom de l'onglet de destination
Si l'onglet existe recopie dans celui-ci de toutes les lignes correspondant à la donnée sinon un message avertissant l'absence de l'onglet
Ensuite Feuil1 colonne U j'ai mis des chiffres Dans le VBA de Feuil5 je te propose ce code :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Run ("Etablissement") End Sub
Et dans une Macro nommé "Etablissement" ce code :
For Each c In Worksheets("Feuil1").Range("U1", "U" & Sheets("Feuil1").Range("U65535").End(xlUp).Row) If c = ActiveCell Then Sheets("Feuil1").Range("P" & c.Row, "T" & c.Row).Copy ActiveCell.Offset(0, 1) End If Next End Sub
Dans Feuil5 une saisie dans une cellule d'un des codes de la colonne U Feuil1 par doubleClick sur cette cellule rapportera dans les cellules suivantes toutes les données colonne P à T Feuil1 de la ligne correspondant au code saisi colonne U Feuil1
je teste en detail demain j ai essaye avec mon fichier reduit. cela correspond à mes attentes mais la 2° macro me renvoi tjs les ent^tes de colonnes au lieu des valeurs. aurais je fait une fausse manip ?
je te remercie encore et te tiendrai au courant de mes tests
bonne soiree
Michel
<francois.forcet@wanadoo.fr> a écrit dans le message de news:
e6e597d4-2123-4fa5-a100-ad160d2502c2@w7g2000hsa.googlegroups.com...
Rebonjours Michel
Je te propose tout d'abord ce code :
Donnée = InputBox("Saisisez la donnée", "Donnée(s) recherchée(s)")
Onglet = InputBox("Saissisez l'onglet de destination", "Nom de
l'onglet")
For i = 1 To Sheets.Count
If Sheets(i).Name = Onglet Then
Existant = 1
End If
Next
If Donnée <> "" And Onglet <> "" And Existant = 1 Then
For Each c In Worksheets("Feuil1").Range(ActiveCell,
Range(Cells(65535, ActiveCell.Column).Address).End(xlUp))
If c Like Donnée Then
c.EntireRow.Copy Sheets(Onglet).Range("A65535").End(xlUp).Offset(1, 0)
End If
Next
End If
If Existant <> 1 And Onglet <> "" Then
MsgBox ("L'onglet : " & Onglet & " est inexistant")
End If
Aprés avoir sélectionné la 1° cellule de la colonne concerné par la
recherche (Cellule A1 Feuil1 pour la recherche code Insee par exemple)
Le code éxécuté demandera la donnée de recherche :
Toutes données commençant par 123 il faut saisir 123*
Toutes données se terminant par 123 il faut saisir *123
Toutes données contenant 123 il faut saisir *123*
Toutes données = 123 il faut saisir 123
Ce code demandera ensuite le nom de l'onglet de destination
Si l'onglet existe recopie dans celui-ci de toutes les lignes
correspondant à la donnée
sinon un message avertissant l'absence de l'onglet
Ensuite Feuil1 colonne U j'ai mis des chiffres
Dans le VBA de Feuil5 je te propose ce code :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
Run ("Etablissement")
End Sub
Et dans une Macro nommé "Etablissement" ce code :
For Each c In Worksheets("Feuil1").Range("U1", "U" &
Sheets("Feuil1").Range("U65535").End(xlUp).Row)
If c = ActiveCell Then
Sheets("Feuil1").Range("P" & c.Row, "T" & c.Row).Copy
ActiveCell.Offset(0, 1)
End If
Next
End Sub
Dans Feuil5 une saisie dans une cellule d'un des codes de la colonne U
Feuil1 par doubleClick sur cette cellule rapportera dans les cellules
suivantes toutes les données colonne P à T Feuil1 de la ligne
correspondant au code saisi colonne U Feuil1
je teste en detail demain
j ai essaye avec mon fichier reduit. cela correspond à mes attentes
mais la 2° macro me renvoi tjs les ent^tes de colonnes au lieu des valeurs.
aurais je fait une fausse manip ?
je te remercie encore et te tiendrai au courant de mes tests
Donnée = InputBox("Saisisez la donnée", "Donnée(s) recherchée(s)") Onglet = InputBox("Saissisez l'onglet de destination", "Nom de l'onglet") For i = 1 To Sheets.Count If Sheets(i).Name = Onglet Then Existant = 1 End If Next If Donnée <> "" And Onglet <> "" And Existant = 1 Then For Each c In Worksheets("Feuil1").Range(ActiveCell, Range(Cells(65535, ActiveCell.Column).Address).End(xlUp)) If c Like Donnée Then c.EntireRow.Copy Sheets(Onglet).Range("A65535").End(xlUp).Offset(1, 0) End If Next End If If Existant <> 1 And Onglet <> "" Then MsgBox ("L'onglet : " & Onglet & " est inexistant") End If
Aprés avoir sélectionné la 1° cellule de la colonne concerné par la recherche (Cellule A1 Feuil1 pour la recherche code Insee par exemple) Le code éxécuté demandera la donnée de recherche :
Toutes données commençant par 123 il faut saisir 123* Toutes données se terminant par 123 il faut saisir *123 Toutes données contenant 123 il faut saisir *123* Toutes données = 123 il faut saisir 123
Ce code demandera ensuite le nom de l'onglet de destination
Si l'onglet existe recopie dans celui-ci de toutes les lignes correspondant à la donnée sinon un message avertissant l'absence de l'onglet
Ensuite Feuil1 colonne U j'ai mis des chiffres Dans le VBA de Feuil5 je te propose ce code :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Run ("Etablissement") End Sub
Et dans une Macro nommé "Etablissement" ce code :
For Each c In Worksheets("Feuil1").Range("U1", "U" & Sheets("Feuil1").Range("U65535").End(xlUp).Row) If c = ActiveCell Then Sheets("Feuil1").Range("P" & c.Row, "T" & c.Row).Copy ActiveCell.Offset(0, 1) End If Next End Sub
Dans Feuil5 une saisie dans une cellule d'un des codes de la colonne U Feuil1 par doubleClick sur cette cellule rapportera dans les cellules suivantes toutes les données colonne P à T Feuil1 de la ligne correspondant au code saisi colonne U Feuil1
je teste en detail demain j ai essaye avec mon fichier reduit. cela correspond à mes attentes mais la 2° macro me renvoi tjs les ent^tes de colonnes au lieu des valeurs. aurais je fait une fausse manip ?
je te remercie encore et te tiendrai au courant de mes tests
bonne soiree
Michel
francois.forcet
Rebonjours Michel La 2° Macro est celle qui récupère les données des établissements en fonction d'un code attribué Feul1 colonne U
En Feuil5 si je met en A2 par exemple le code 1 puis si je double click sur cette cellule j'ai bien de B2 à F2 les valeurs de P2 à T2 de la Feuil1 correspondant aux données de l'établissement pour lequel j'ai affecté ce code En aucun cas j'ai le nom des colonnes
Tu devrais obtenir le même résultat
Dis moi !!!!
Rebonjours Michel
La 2° Macro est celle qui récupère les données des établissements en
fonction d'un code attribué Feul1 colonne U
En Feuil5 si je met en A2 par exemple le code 1 puis si je double
click sur cette cellule j'ai bien de B2 à F2 les valeurs de P2 à T2 de
la Feuil1 correspondant aux données de l'établissement pour lequel
j'ai affecté ce code
En aucun cas j'ai le nom des colonnes
Rebonjours Michel La 2° Macro est celle qui récupère les données des établissements en fonction d'un code attribué Feul1 colonne U
En Feuil5 si je met en A2 par exemple le code 1 puis si je double click sur cette cellule j'ai bien de B2 à F2 les valeurs de P2 à T2 de la Feuil1 correspondant aux données de l'établissement pour lequel j'ai affecté ce code En aucun cas j'ai le nom des colonnes
Tu devrais obtenir le même résultat
Dis moi !!!!
michel263
a écrit dans le message de news:
Rebonjours Michel La 2° Macro est celle qui récupère les données des établissements en fonction d'un code attribué Feul1 colonne U
En Feuil5 si je met en A2 par exemple le code 1 puis si je double click sur cette cellule j'ai bien de B2 à F2 les valeurs de P2 à T2 de la Feuil1 correspondant aux données de l'établissement pour lequel j'ai affecté ce code En aucun cas j'ai le nom des colonnes
Tu devrais obtenir le même résultat
Dis moi !!!!
bonjour Francois
ca y est j ai compris pourquoi ca ne marchait pas. je rentrais la donnée dan la cellule et immediatement je faisait double-click san prendre le temps de valider ma saisie en changeant de cellule.....trop pressé certaienemt!
ca marche impec mon voisin avait raison de me dire d aller sur le forum. j ai trouve mon bonheur
merci pour tout
bonne soirée
Michell
<francois.forcet@wanadoo.fr> a écrit dans le message de news:
e3bff3ff-f795-44fc-adc6-a020ea2b1375@e53g2000hsa.googlegroups.com...
Rebonjours Michel
La 2° Macro est celle qui récupère les données des établissements en
fonction d'un code attribué Feul1 colonne U
En Feuil5 si je met en A2 par exemple le code 1 puis si je double
click sur cette cellule j'ai bien de B2 à F2 les valeurs de P2 à T2 de
la Feuil1 correspondant aux données de l'établissement pour lequel
j'ai affecté ce code
En aucun cas j'ai le nom des colonnes
Tu devrais obtenir le même résultat
Dis moi !!!!
bonjour Francois
ca y est j ai compris pourquoi ca ne marchait pas.
je rentrais la donnée dan la cellule et immediatement je faisait
double-click san prendre le temps de valider ma saisie en changeant de
cellule.....trop pressé certaienemt!
ca marche impec
mon voisin avait raison de me dire d aller sur le forum. j ai trouve mon
bonheur
Rebonjours Michel La 2° Macro est celle qui récupère les données des établissements en fonction d'un code attribué Feul1 colonne U
En Feuil5 si je met en A2 par exemple le code 1 puis si je double click sur cette cellule j'ai bien de B2 à F2 les valeurs de P2 à T2 de la Feuil1 correspondant aux données de l'établissement pour lequel j'ai affecté ce code En aucun cas j'ai le nom des colonnes
Tu devrais obtenir le même résultat
Dis moi !!!!
bonjour Francois
ca y est j ai compris pourquoi ca ne marchait pas. je rentrais la donnée dan la cellule et immediatement je faisait double-click san prendre le temps de valider ma saisie en changeant de cellule.....trop pressé certaienemt!
ca marche impec mon voisin avait raison de me dire d aller sur le forum. j ai trouve mon bonheur