bonjour
tr=E8s "novice" en macro ;-))) , je bute sur celle ci :
Sub copieGras()
For Each c In Selection
For i =3D 1 To c.Characters.Count
If c.Characters(i, 1).Font.FontStyle =3D "Gras" Then _
mavaleur =3D mavaleur & c.Characters(i, 1).Text
Next
c=2EOffset(0, 1) =3D mavaleur
mavaleur =3D ""
Next
End Sub
qui m'avait =E9t=E9 transmise pour extraire les noms en gras dans une
cellule.
Elle fonctionne mais tous les noms sont coll=E9s, or je souhaite avoir
une s=E9paration entre les noms (espace, virgule, peu importe). Comment
faire ? que rajouter ou nouvelle macro ?
merci d'avance
Peux-tu détailler un peu plus ou donner un petit exemple ?
j-p
jipeache
Ok. en G1 par ex j'ai : "Armentières-sur-Avre : IPCAR Odile, élevage cunicole (1979). Arnières-sur-Iton : CERALIT/Fabrication de produits céramiques, SARL, extension de l'activité (1978). Asnières : DARDEL Jean, agrandissement de la pisciculture (1977-1978) ; GAUTIER-LEVASSEUR Fromageries, SA, transfert (1979-1980). Avrilly : PELEY Michel, exploitation d'un chenil de garderie (1975-1980). Bâlines : DUMORTIER Roger, création d'un élevage porcin (1977-1978) etc...etc..." Les noms de commune (avant les ":") sont en gras, exemple : Asnières Avrilly etc... je veux les recopier en H1 pour créer un index nom de commune. la macro utilisée me donne "AsnièresAvrllyBâlines ..." et je souhaiterais "Asnières Avrilly Bâlines..." ou "Asnières,Avrilly,..." Il me faut une séparation entre les noms de commune obtenus. J'ai un gros gros fichier à traiter... Merci
Ok. en G1 par ex j'ai :
"Armentières-sur-Avre : IPCAR Odile, élevage cunicole (1979).
Arnières-sur-Iton : CERALIT/Fabrication de produits céramiques, SARL,
extension de l'activité (1978). Asnières : DARDEL Jean,
agrandissement de la pisciculture (1977-1978) ; GAUTIER-LEVASSEUR
Fromageries, SA, transfert (1979-1980). Avrilly : PELEY Michel,
exploitation d'un chenil de garderie (1975-1980). Bâlines : DUMORTIER
Roger, création d'un élevage porcin (1977-1978) etc...etc..."
Les noms de commune (avant les ":") sont en gras, exemple : Asnières
Avrilly etc...
je veux les recopier en H1 pour créer un index nom de commune.
la macro utilisée me donne "AsnièresAvrllyBâlines ..." et je
souhaiterais "Asnières Avrilly Bâlines..." ou "Asnières,Avrilly,..."
Il me faut une séparation entre les noms de commune obtenus.
J'ai un gros gros fichier à traiter...
Merci
Ok. en G1 par ex j'ai : "Armentières-sur-Avre : IPCAR Odile, élevage cunicole (1979). Arnières-sur-Iton : CERALIT/Fabrication de produits céramiques, SARL, extension de l'activité (1978). Asnières : DARDEL Jean, agrandissement de la pisciculture (1977-1978) ; GAUTIER-LEVASSEUR Fromageries, SA, transfert (1979-1980). Avrilly : PELEY Michel, exploitation d'un chenil de garderie (1975-1980). Bâlines : DUMORTIER Roger, création d'un élevage porcin (1977-1978) etc...etc..." Les noms de commune (avant les ":") sont en gras, exemple : Asnières Avrilly etc... je veux les recopier en H1 pour créer un index nom de commune. la macro utilisée me donne "AsnièresAvrllyBâlines ..." et je souhaiterais "Asnières Avrilly Bâlines..." ou "Asnières,Avrilly,..." Il me faut une séparation entre les noms de commune obtenus. J'ai un gros gros fichier à traiter... Merci
JpPradier
Ok, si j'ai bien compris :
Sub copieGras()
separateur= "," For Each c In Selection
For i = 1 To c.Characters.Count If c.Characters(i, 1).Font.FontStyle = "Gras" Then _ mavaleur = mavaleur & c.Characters(i, 1).Text & separateur Next
mavaleur=left(mavaleur,len(mavaleur)-1) c.Offset(0, 1) = mavaleur mavaleur = "" Next
End Sub
j-p
Ok, si j'ai bien compris :
Sub copieGras()
separateur= ","
For Each c In Selection
For i = 1 To c.Characters.Count
If c.Characters(i, 1).Font.FontStyle = "Gras" Then _
mavaleur = mavaleur & c.Characters(i, 1).Text & separateur
Next
mavaleur=left(mavaleur,len(mavaleur)-1)
c.Offset(0, 1) = mavaleur
mavaleur = ""
Next
Merci, mais cela ne fonctionne pas, j'obtiens ceci : (copier-coller) "A,r,m,e,n,t,i,è,r,e,s,-,s,u,r,-,A,v,r,e,A,r,n,i,è,r,e,s,-,s,u,r,-,I,t, o,n, ,A,s,n,i,è,r,e,s,A,v,r,i,l,l,y,B,â,l,i,n,e,s," etc... Bizarre...
JpPradier
Effectivement, j'ai modifié comme cela :
Sub copieGras()
For Each c In Selection separateur="" For i = 1 To c.Characters.Count If c.Characters(i, 1).Font.FontStyle = "Gras" Then mavaleur = mavaleur & separateur & c.Characters(i, 1).Text separateur=""
else separateur="," end if Next
mavaleur=left(mavaleur,len(mavaleur)-1) c.Offset(0, 1) = mavaleur mavaleur = "" Next
End Sub
j-p
Effectivement, j'ai modifié comme cela :
Sub copieGras()
For Each c In Selection
separateur=""
For i = 1 To c.Characters.Count
If c.Characters(i, 1).Font.FontStyle = "Gras" Then
mavaleur = mavaleur & separateur & c.Characters(i, 1).Text
separateur=""
else
separateur=","
end if
Next
mavaleur=left(mavaleur,len(mavaleur)-1)
c.Offset(0, 1) = mavaleur
mavaleur = ""
Next
For Each c In Selection separateur="" For i = 1 To c.Characters.Count If c.Characters(i, 1).Font.FontStyle = "Gras" Then mavaleur = mavaleur & separateur & c.Characters(i, 1).Text separateur=""
else separateur="," end if Next
mavaleur=left(mavaleur,len(mavaleur)-1) c.Offset(0, 1) = mavaleur mavaleur = "" Next
End Sub
j-p
jipeache
Ok, merci beaucoup, ça fonctionne. Seul petit bémol, pour pinailler : dans chaque cellule cible, la dernière lettre de la dernière commune est effacée ; pas dramatique, je la remets après... Encore merci, cela va me faciliter le boulot et me permettre de créer un bel index de recherche.
Ok, merci beaucoup, ça fonctionne.
Seul petit bémol, pour pinailler : dans chaque cellule cible, la
dernière lettre de la dernière commune est effacée ; pas dramatique,
je la remets après...
Encore merci, cela va me faciliter le boulot et me permettre de créer
un bel index de recherche.
Ok, merci beaucoup, ça fonctionne. Seul petit bémol, pour pinailler : dans chaque cellule cible, la dernière lettre de la dernière commune est effacée ; pas dramatique, je la remets après... Encore merci, cela va me faciliter le boulot et me permettre de créer un bel index de recherche.