Bonjour,
J'ai un document Excel qui contient une imposante liste de mesures (2
dimensions, hauteur et largeur). Sur la colonne A, il y a la hauteur
métrique et sa valeur impériale entre parenthèses (exemple: 10m (12')) et
sur la colonne B, la largeur métrique et la valeur impériale entre
parenthèses (exemple: 2m (6')).
Je cherche à séparer les chiffres des unités et à répartir le tout dans les
colonnes voisines, soit, pour la colonne A 4 colonnes, la première récupère
le nombre en format numérique ordinaire, la deuxième récupère l'unité, la
troisième récupère le nombre impérial en format numérique et la dernière
récupère l'unité impériale (ici, l'apostrophe pour dire «pieds»). Idem pour
la colonne B.
En pseudo-code, je donnerais
Pour i=1, i = 65500 (ou le maximum, je ne m'en souviens jamais), i++
Lire la cellule référencée par la valeur «Ai»
' Renvoie, par exemple 2m (6')Séparer en 4 membres (fonction split ou autre ici)
Écrit la première sous-chaîne à la colonne «Ci» // chiffre
Écrit la seconde sous-chaîne à la colonne «Di» // ici, c'est le
m, donc c'est du texte
Saute la parenthèse
Écrit la valeur suivante à la colonne «Ei» // la valeur en pieds
Écrit la valeur suivante à la colonne «Fi»
Fait la même chose à partir de la colone B
Mais utilise les colonne «Gi», «Hi», «Ii» et «Ji»
Suivant
Je sais qu'il y a la fonction Split en VBA qui peut servir, seulement je ne
sais pas trop comment l'utiliser pour cet exemple précis, dans une macro.
Quelqu'un pourrait-il m'aider SVP?
Merci à l'avance,
Anne
Bonjour,
J'ai un document Excel qui contient une imposante liste de mesures (2
dimensions, hauteur et largeur). Sur la colonne A, il y a la hauteur
métrique et sa valeur impériale entre parenthèses (exemple: 10m (12')) et
sur la colonne B, la largeur métrique et la valeur impériale entre
parenthèses (exemple: 2m (6')).
Je cherche à séparer les chiffres des unités et à répartir le tout dans les
colonnes voisines, soit, pour la colonne A 4 colonnes, la première récupère
le nombre en format numérique ordinaire, la deuxième récupère l'unité, la
troisième récupère le nombre impérial en format numérique et la dernière
récupère l'unité impériale (ici, l'apostrophe pour dire «pieds»). Idem pour
la colonne B.
En pseudo-code, je donnerais
Pour i=1, i = 65500 (ou le maximum, je ne m'en souviens jamais), i++
Lire la cellule référencée par la valeur «Ai»
' Renvoie, par exemple 2m (6')
Séparer en 4 membres (fonction split ou autre ici)
Écrit la première sous-chaîne à la colonne «Ci» // chiffre
Écrit la seconde sous-chaîne à la colonne «Di» // ici, c'est le
m, donc c'est du texte
Saute la parenthèse
Écrit la valeur suivante à la colonne «Ei» // la valeur en pieds
Écrit la valeur suivante à la colonne «Fi»
Fait la même chose à partir de la colone B
Mais utilise les colonne «Gi», «Hi», «Ii» et «Ji»
Suivant
Je sais qu'il y a la fonction Split en VBA qui peut servir, seulement je ne
sais pas trop comment l'utiliser pour cet exemple précis, dans une macro.
Quelqu'un pourrait-il m'aider SVP?
Merci à l'avance,
Anne
Bonjour,
J'ai un document Excel qui contient une imposante liste de mesures (2
dimensions, hauteur et largeur). Sur la colonne A, il y a la hauteur
métrique et sa valeur impériale entre parenthèses (exemple: 10m (12')) et
sur la colonne B, la largeur métrique et la valeur impériale entre
parenthèses (exemple: 2m (6')).
Je cherche à séparer les chiffres des unités et à répartir le tout dans les
colonnes voisines, soit, pour la colonne A 4 colonnes, la première récupère
le nombre en format numérique ordinaire, la deuxième récupère l'unité, la
troisième récupère le nombre impérial en format numérique et la dernière
récupère l'unité impériale (ici, l'apostrophe pour dire «pieds»). Idem pour
la colonne B.
En pseudo-code, je donnerais
Pour i=1, i = 65500 (ou le maximum, je ne m'en souviens jamais), i++
Lire la cellule référencée par la valeur «Ai»
' Renvoie, par exemple 2m (6')Séparer en 4 membres (fonction split ou autre ici)
Écrit la première sous-chaîne à la colonne «Ci» // chiffre
Écrit la seconde sous-chaîne à la colonne «Di» // ici, c'est le
m, donc c'est du texte
Saute la parenthèse
Écrit la valeur suivante à la colonne «Ei» // la valeur en pieds
Écrit la valeur suivante à la colonne «Fi»
Fait la même chose à partir de la colone B
Mais utilise les colonne «Gi», «Hi», «Ii» et «Ji»
Suivant
Je sais qu'il y a la fonction Split en VBA qui peut servir, seulement je ne
sais pas trop comment l'utiliser pour cet exemple précis, dans une macro.
Quelqu'un pourrait-il m'aider SVP?
Merci à l'avance,
Anne
Bonjour Anne
Veux tu nécessairement passer par du VBA ?
Si c'est occasionnel (donc à usage unique ou peu fréquent) ET que les
unités sont toujours <m> et <'> (ça fait beaucoup de supposition), tu peux
passer par :
1) Rechercher-Remplacer les parenthèses ouvrantes et fermantes par 'rien'
2) Données-Convertir et utiliser le caractère <m> comme séparateur puis
recommencer avec le caractère <'> comme séparateur.
3) rajouter où il faut une colonne de <m> et une colonne de <'> (Pas utile
si c'est toujours ces unités là)
Bon... C'est de la maison Bricolo et Bricolette, ça se voit ?
Je ne fais du VBA que sous la contrainte.
Cordialement.
TrirèmeBonjour,
J'ai un document Excel qui contient une imposante liste de mesures (2
dimensions, hauteur et largeur). Sur la colonne A, il y a la hauteur
métrique et sa valeur impériale entre parenthèses (exemple: 10m (12')) et
sur la colonne B, la largeur métrique et la valeur impériale entre
parenthèses (exemple: 2m (6')).
Je cherche à séparer les chiffres des unités et à répartir le tout dans
les colonnes voisines, soit, pour la colonne A 4 colonnes, la première
récupère le nombre en format numérique ordinaire, la deuxième récupère
l'unité, la troisième récupère le nombre impérial en format numérique et
la dernière récupère l'unité impériale (ici, l'apostrophe pour dire
«pieds»). Idem pour la colonne B.
En pseudo-code, je donnerais
Pour i=1, i = 65500 (ou le maximum, je ne m'en souviens jamais), i++
Lire la cellule référencée par la valeur «Ai»
' Renvoie, par exemple 2m (6')Séparer en 4 membres (fonction split ou autre ici)
Écrit la première sous-chaîne à la colonne «Ci» // chiffre
Écrit la seconde sous-chaîne à la colonne «Di» // ici, c'est
le m, donc c'est du texte
Saute la parenthèse
Écrit la valeur suivante à la colonne «Ei» // la valeur en
pieds
Écrit la valeur suivante à la colonne «Fi»
Fait la même chose à partir de la colone B
Mais utilise les colonne «Gi», «Hi», «Ii» et «Ji»
Suivant
Je sais qu'il y a la fonction Split en VBA qui peut servir, seulement je
ne sais pas trop comment l'utiliser pour cet exemple précis, dans une
macro. Quelqu'un pourrait-il m'aider SVP?
Merci à l'avance,
Anne
Bonjour Anne
Veux tu nécessairement passer par du VBA ?
Si c'est occasionnel (donc à usage unique ou peu fréquent) ET que les
unités sont toujours <m> et <'> (ça fait beaucoup de supposition), tu peux
passer par :
1) Rechercher-Remplacer les parenthèses ouvrantes et fermantes par 'rien'
2) Données-Convertir et utiliser le caractère <m> comme séparateur puis
recommencer avec le caractère <'> comme séparateur.
3) rajouter où il faut une colonne de <m> et une colonne de <'> (Pas utile
si c'est toujours ces unités là)
Bon... C'est de la maison Bricolo et Bricolette, ça se voit ?
Je ne fais du VBA que sous la contrainte.
Cordialement.
Trirème
Bonjour,
J'ai un document Excel qui contient une imposante liste de mesures (2
dimensions, hauteur et largeur). Sur la colonne A, il y a la hauteur
métrique et sa valeur impériale entre parenthèses (exemple: 10m (12')) et
sur la colonne B, la largeur métrique et la valeur impériale entre
parenthèses (exemple: 2m (6')).
Je cherche à séparer les chiffres des unités et à répartir le tout dans
les colonnes voisines, soit, pour la colonne A 4 colonnes, la première
récupère le nombre en format numérique ordinaire, la deuxième récupère
l'unité, la troisième récupère le nombre impérial en format numérique et
la dernière récupère l'unité impériale (ici, l'apostrophe pour dire
«pieds»). Idem pour la colonne B.
En pseudo-code, je donnerais
Pour i=1, i = 65500 (ou le maximum, je ne m'en souviens jamais), i++
Lire la cellule référencée par la valeur «Ai»
' Renvoie, par exemple 2m (6')
Séparer en 4 membres (fonction split ou autre ici)
Écrit la première sous-chaîne à la colonne «Ci» // chiffre
Écrit la seconde sous-chaîne à la colonne «Di» // ici, c'est
le m, donc c'est du texte
Saute la parenthèse
Écrit la valeur suivante à la colonne «Ei» // la valeur en
pieds
Écrit la valeur suivante à la colonne «Fi»
Fait la même chose à partir de la colone B
Mais utilise les colonne «Gi», «Hi», «Ii» et «Ji»
Suivant
Je sais qu'il y a la fonction Split en VBA qui peut servir, seulement je
ne sais pas trop comment l'utiliser pour cet exemple précis, dans une
macro. Quelqu'un pourrait-il m'aider SVP?
Merci à l'avance,
Anne
Bonjour Anne
Veux tu nécessairement passer par du VBA ?
Si c'est occasionnel (donc à usage unique ou peu fréquent) ET que les
unités sont toujours <m> et <'> (ça fait beaucoup de supposition), tu peux
passer par :
1) Rechercher-Remplacer les parenthèses ouvrantes et fermantes par 'rien'
2) Données-Convertir et utiliser le caractère <m> comme séparateur puis
recommencer avec le caractère <'> comme séparateur.
3) rajouter où il faut une colonne de <m> et une colonne de <'> (Pas utile
si c'est toujours ces unités là)
Bon... C'est de la maison Bricolo et Bricolette, ça se voit ?
Je ne fais du VBA que sous la contrainte.
Cordialement.
TrirèmeBonjour,
J'ai un document Excel qui contient une imposante liste de mesures (2
dimensions, hauteur et largeur). Sur la colonne A, il y a la hauteur
métrique et sa valeur impériale entre parenthèses (exemple: 10m (12')) et
sur la colonne B, la largeur métrique et la valeur impériale entre
parenthèses (exemple: 2m (6')).
Je cherche à séparer les chiffres des unités et à répartir le tout dans
les colonnes voisines, soit, pour la colonne A 4 colonnes, la première
récupère le nombre en format numérique ordinaire, la deuxième récupère
l'unité, la troisième récupère le nombre impérial en format numérique et
la dernière récupère l'unité impériale (ici, l'apostrophe pour dire
«pieds»). Idem pour la colonne B.
En pseudo-code, je donnerais
Pour i=1, i = 65500 (ou le maximum, je ne m'en souviens jamais), i++
Lire la cellule référencée par la valeur «Ai»
' Renvoie, par exemple 2m (6')Séparer en 4 membres (fonction split ou autre ici)
Écrit la première sous-chaîne à la colonne «Ci» // chiffre
Écrit la seconde sous-chaîne à la colonne «Di» // ici, c'est
le m, donc c'est du texte
Saute la parenthèse
Écrit la valeur suivante à la colonne «Ei» // la valeur en
pieds
Écrit la valeur suivante à la colonne «Fi»
Fait la même chose à partir de la colone B
Mais utilise les colonne «Gi», «Hi», «Ii» et «Ji»
Suivant
Je sais qu'il y a la fonction Split en VBA qui peut servir, seulement je
ne sais pas trop comment l'utiliser pour cet exemple précis, dans une
macro. Quelqu'un pourrait-il m'aider SVP?
Merci à l'avance,
Anne
Bonjour,
J'ai un document Excel qui contient une imposante liste de mesures (2
dimensions, hauteur et largeur). Sur la colonne A, il y a la hauteur
métrique et sa valeur impériale entre parenthèses (exemple: 10m (12')) et
sur la colonne B, la largeur métrique et la valeur impériale entre
parenthèses (exemple: 2m (6')).
Je cherche à séparer les chiffres des unités et à répartir le tout dans les
colonnes voisines, soit, pour la colonne A 4 colonnes, la première récupère
le nombre en format numérique ordinaire, la deuxième récupère l'unité, la
troisième récupère le nombre impérial en format numérique et la dernière
récupère l'unité impériale (ici, l'apostrophe pour dire «pieds»). Idem pour
la colonne B.
En pseudo-code, je donnerais
Pour i=1, i = 65500 (ou le maximum, je ne m'en souviens jamais), i++
Lire la cellule référencée par la valeur «Ai»
' Renvoie, par exemple 2m (6')Séparer en 4 membres (fonction split ou autre ici)
Écrit la première sous-chaîne à la colonne «Ci» // chiffre
Écrit la seconde sous-chaîne à la colonne «Di» // ici, c'est le
m, donc c'est du texte
Saute la parenthèse
Écrit la valeur suivante à la colonne «Ei» // la valeur en pieds
Écrit la valeur suivante à la colonne «Fi»
Fait la même chose à partir de la colone B
Mais utilise les colonne «Gi», «Hi», «Ii» et «Ji»
Suivant
Je sais qu'il y a la fonction Split en VBA qui peut servir, seulement je ne
sais pas trop comment l'utiliser pour cet exemple précis, dans une macro.
Quelqu'un pourrait-il m'aider SVP?
Merci à l'avance,
Anne
Bonjour,
J'ai un document Excel qui contient une imposante liste de mesures (2
dimensions, hauteur et largeur). Sur la colonne A, il y a la hauteur
métrique et sa valeur impériale entre parenthèses (exemple: 10m (12')) et
sur la colonne B, la largeur métrique et la valeur impériale entre
parenthèses (exemple: 2m (6')).
Je cherche à séparer les chiffres des unités et à répartir le tout dans les
colonnes voisines, soit, pour la colonne A 4 colonnes, la première récupère
le nombre en format numérique ordinaire, la deuxième récupère l'unité, la
troisième récupère le nombre impérial en format numérique et la dernière
récupère l'unité impériale (ici, l'apostrophe pour dire «pieds»). Idem pour
la colonne B.
En pseudo-code, je donnerais
Pour i=1, i = 65500 (ou le maximum, je ne m'en souviens jamais), i++
Lire la cellule référencée par la valeur «Ai»
' Renvoie, par exemple 2m (6')
Séparer en 4 membres (fonction split ou autre ici)
Écrit la première sous-chaîne à la colonne «Ci» // chiffre
Écrit la seconde sous-chaîne à la colonne «Di» // ici, c'est le
m, donc c'est du texte
Saute la parenthèse
Écrit la valeur suivante à la colonne «Ei» // la valeur en pieds
Écrit la valeur suivante à la colonne «Fi»
Fait la même chose à partir de la colone B
Mais utilise les colonne «Gi», «Hi», «Ii» et «Ji»
Suivant
Je sais qu'il y a la fonction Split en VBA qui peut servir, seulement je ne
sais pas trop comment l'utiliser pour cet exemple précis, dans une macro.
Quelqu'un pourrait-il m'aider SVP?
Merci à l'avance,
Anne
Bonjour,
J'ai un document Excel qui contient une imposante liste de mesures (2
dimensions, hauteur et largeur). Sur la colonne A, il y a la hauteur
métrique et sa valeur impériale entre parenthèses (exemple: 10m (12')) et
sur la colonne B, la largeur métrique et la valeur impériale entre
parenthèses (exemple: 2m (6')).
Je cherche à séparer les chiffres des unités et à répartir le tout dans les
colonnes voisines, soit, pour la colonne A 4 colonnes, la première récupère
le nombre en format numérique ordinaire, la deuxième récupère l'unité, la
troisième récupère le nombre impérial en format numérique et la dernière
récupère l'unité impériale (ici, l'apostrophe pour dire «pieds»). Idem pour
la colonne B.
En pseudo-code, je donnerais
Pour i=1, i = 65500 (ou le maximum, je ne m'en souviens jamais), i++
Lire la cellule référencée par la valeur «Ai»
' Renvoie, par exemple 2m (6')Séparer en 4 membres (fonction split ou autre ici)
Écrit la première sous-chaîne à la colonne «Ci» // chiffre
Écrit la seconde sous-chaîne à la colonne «Di» // ici, c'est le
m, donc c'est du texte
Saute la parenthèse
Écrit la valeur suivante à la colonne «Ei» // la valeur en pieds
Écrit la valeur suivante à la colonne «Fi»
Fait la même chose à partir de la colone B
Mais utilise les colonne «Gi», «Hi», «Ii» et «Ji»
Suivant
Je sais qu'il y a la fonction Split en VBA qui peut servir, seulement je ne
sais pas trop comment l'utiliser pour cet exemple précis, dans une macro.
Quelqu'un pourrait-il m'aider SVP?
Merci à l'avance,
Anne
Pour connaitre la dernière ligne vide :
FinLigne > Workbooks(NomClasseur).Worksheets(NomFeuillePIF).Range("A65536").End(xlUp).Row
Pour ta fonction Split, ça donne :
Private Sub Test()
Dim texte, partie1, partie2, partie3, partie4 As String
Dim a, b, c As Integer
texte = "10m(12')"
a = InStr(1, texte, "m") 'm est trouvé en 3éme position.
b = InStr(1, texte, "(")
c = InStr(1, texte, ")")
partie1 = Left$(texte, a - 1) ' = 10
partie2 = Mid$(texte, a, 1) ' = m
partie3 = Mid$(texte, b + 1, Len(texte) - 2) ' = 12
partie4 = Mid$(texte, c - 1, 1) ' = '
End Sub
Pour connaitre la dernière ligne vide :
FinLigne =
Workbooks(NomClasseur).Worksheets(NomFeuillePIF).Range("A65536").End(xlUp).Row
Pour l'insertion des les cellules, je n'ai pas bien compris. Tu parles de
C,D,E,F puis G,H,I,J. Et après ? on revient à C,D,etc ou on continue de 4
colonnes en 4 colonnes.
A+Bonjour,
J'ai un document Excel qui contient une imposante liste de mesures (2
dimensions, hauteur et largeur). Sur la colonne A, il y a la hauteur
métrique et sa valeur impériale entre parenthèses (exemple: 10m (12')) et
sur la colonne B, la largeur métrique et la valeur impériale entre
parenthèses (exemple: 2m (6')).
Je cherche à séparer les chiffres des unités et à répartir le tout dans les
colonnes voisines, soit, pour la colonne A 4 colonnes, la première récupère
le nombre en format numérique ordinaire, la deuxième récupère l'unité, la
troisième récupère le nombre impérial en format numérique et la dernière
récupère l'unité impériale (ici, l'apostrophe pour dire «pieds»). Idem pour
la colonne B.
En pseudo-code, je donnerais
Pour i=1, i = 65500 (ou le maximum, je ne m'en souviens jamais), i++
Lire la cellule référencée par la valeur «Ai»
' Renvoie, par exemple 2m (6')Séparer en 4 membres (fonction split ou autre ici)
Écrit la première sous-chaîne à la colonne «Ci» // chiffre
Écrit la seconde sous-chaîne à la colonne «Di» // ici, c'est le
m, donc c'est du texte
Saute la parenthèse
Écrit la valeur suivante à la colonne «Ei» // la valeur en pieds
Écrit la valeur suivante à la colonne «Fi»
Fait la même chose à partir de la colone B
Mais utilise les colonne «Gi», «Hi», «Ii» et «Ji»
Suivant
Je sais qu'il y a la fonction Split en VBA qui peut servir, seulement je ne
sais pas trop comment l'utiliser pour cet exemple précis, dans une macro.
Quelqu'un pourrait-il m'aider SVP?
Merci à l'avance,
Anne
Pour connaitre la dernière ligne vide :
FinLigne > Workbooks(NomClasseur).Worksheets(NomFeuillePIF).Range("A65536").End(xlUp).Row
Pour ta fonction Split, ça donne :
Private Sub Test()
Dim texte, partie1, partie2, partie3, partie4 As String
Dim a, b, c As Integer
texte = "10m(12')"
a = InStr(1, texte, "m") 'm est trouvé en 3éme position.
b = InStr(1, texte, "(")
c = InStr(1, texte, ")")
partie1 = Left$(texte, a - 1) ' = 10
partie2 = Mid$(texte, a, 1) ' = m
partie3 = Mid$(texte, b + 1, Len(texte) - 2) ' = 12
partie4 = Mid$(texte, c - 1, 1) ' = '
End Sub
Pour connaitre la dernière ligne vide :
FinLigne =
Workbooks(NomClasseur).Worksheets(NomFeuillePIF).Range("A65536").End(xlUp).Row
Pour l'insertion des les cellules, je n'ai pas bien compris. Tu parles de
C,D,E,F puis G,H,I,J. Et après ? on revient à C,D,etc ou on continue de 4
colonnes en 4 colonnes.
A+
Bonjour,
J'ai un document Excel qui contient une imposante liste de mesures (2
dimensions, hauteur et largeur). Sur la colonne A, il y a la hauteur
métrique et sa valeur impériale entre parenthèses (exemple: 10m (12')) et
sur la colonne B, la largeur métrique et la valeur impériale entre
parenthèses (exemple: 2m (6')).
Je cherche à séparer les chiffres des unités et à répartir le tout dans les
colonnes voisines, soit, pour la colonne A 4 colonnes, la première récupère
le nombre en format numérique ordinaire, la deuxième récupère l'unité, la
troisième récupère le nombre impérial en format numérique et la dernière
récupère l'unité impériale (ici, l'apostrophe pour dire «pieds»). Idem pour
la colonne B.
En pseudo-code, je donnerais
Pour i=1, i = 65500 (ou le maximum, je ne m'en souviens jamais), i++
Lire la cellule référencée par la valeur «Ai»
' Renvoie, par exemple 2m (6')
Séparer en 4 membres (fonction split ou autre ici)
Écrit la première sous-chaîne à la colonne «Ci» // chiffre
Écrit la seconde sous-chaîne à la colonne «Di» // ici, c'est le
m, donc c'est du texte
Saute la parenthèse
Écrit la valeur suivante à la colonne «Ei» // la valeur en pieds
Écrit la valeur suivante à la colonne «Fi»
Fait la même chose à partir de la colone B
Mais utilise les colonne «Gi», «Hi», «Ii» et «Ji»
Suivant
Je sais qu'il y a la fonction Split en VBA qui peut servir, seulement je ne
sais pas trop comment l'utiliser pour cet exemple précis, dans une macro.
Quelqu'un pourrait-il m'aider SVP?
Merci à l'avance,
Anne
Pour connaitre la dernière ligne vide :
FinLigne > Workbooks(NomClasseur).Worksheets(NomFeuillePIF).Range("A65536").End(xlUp).Row
Pour ta fonction Split, ça donne :
Private Sub Test()
Dim texte, partie1, partie2, partie3, partie4 As String
Dim a, b, c As Integer
texte = "10m(12')"
a = InStr(1, texte, "m") 'm est trouvé en 3éme position.
b = InStr(1, texte, "(")
c = InStr(1, texte, ")")
partie1 = Left$(texte, a - 1) ' = 10
partie2 = Mid$(texte, a, 1) ' = m
partie3 = Mid$(texte, b + 1, Len(texte) - 2) ' = 12
partie4 = Mid$(texte, c - 1, 1) ' = '
End Sub
Pour connaitre la dernière ligne vide :
FinLigne =
Workbooks(NomClasseur).Worksheets(NomFeuillePIF).Range("A65536").End(xlUp).Row
Pour l'insertion des les cellules, je n'ai pas bien compris. Tu parles de
C,D,E,F puis G,H,I,J. Et après ? on revient à C,D,etc ou on continue de 4
colonnes en 4 colonnes.
A+Bonjour,
J'ai un document Excel qui contient une imposante liste de mesures (2
dimensions, hauteur et largeur). Sur la colonne A, il y a la hauteur
métrique et sa valeur impériale entre parenthèses (exemple: 10m (12')) et
sur la colonne B, la largeur métrique et la valeur impériale entre
parenthèses (exemple: 2m (6')).
Je cherche à séparer les chiffres des unités et à répartir le tout dans les
colonnes voisines, soit, pour la colonne A 4 colonnes, la première récupère
le nombre en format numérique ordinaire, la deuxième récupère l'unité, la
troisième récupère le nombre impérial en format numérique et la dernière
récupère l'unité impériale (ici, l'apostrophe pour dire «pieds»). Idem pour
la colonne B.
En pseudo-code, je donnerais
Pour i=1, i = 65500 (ou le maximum, je ne m'en souviens jamais), i++
Lire la cellule référencée par la valeur «Ai»
' Renvoie, par exemple 2m (6')Séparer en 4 membres (fonction split ou autre ici)
Écrit la première sous-chaîne à la colonne «Ci» // chiffre
Écrit la seconde sous-chaîne à la colonne «Di» // ici, c'est le
m, donc c'est du texte
Saute la parenthèse
Écrit la valeur suivante à la colonne «Ei» // la valeur en pieds
Écrit la valeur suivante à la colonne «Fi»
Fait la même chose à partir de la colone B
Mais utilise les colonne «Gi», «Hi», «Ii» et «Ji»
Suivant
Je sais qu'il y a la fonction Split en VBA qui peut servir, seulement je ne
sais pas trop comment l'utiliser pour cet exemple précis, dans une macro.
Quelqu'un pourrait-il m'aider SVP?
Merci à l'avance,
Anne
Pour connaitre la dernière ligne vide :
FinLigne > > Workbooks(NomClasseur).Worksheets(NomFeuillePIF).Range("A65536").End(xlUp).Row
Juste une remarque en passant sur cette syntaxe. Excel 12 est annoncé avec
une augmentation significative du nombre de lignes (plus d'un million je
crois) et de colonnes (enfin plus de 256 :) disponibles. Du coup
Range("A65536").End(xlUp).Row
ne permettra plus de partir du bas des futures feuilles pour trouver la
dernière cellule occupée en colonne A. Il me parait donc préférable
d'anticiper en utilisant une syntaxe qui ne code pas la dernière ligne en
dur, comme :
Cells(Rows.Count,"a").End(xlUp).Row
----------
Ange Ounis
----------Pour ta fonction Split, ça donne :
Private Sub Test()
Dim texte, partie1, partie2, partie3, partie4 As String
Dim a, b, c As Integer
texte = "10m(12')"
a = InStr(1, texte, "m") 'm est trouvé en 3éme position.
b = InStr(1, texte, "(")
c = InStr(1, texte, ")")
partie1 = Left$(texte, a - 1) ' = 10
partie2 = Mid$(texte, a, 1) ' = m
partie3 = Mid$(texte, b + 1, Len(texte) - 2) ' = 12
partie4 = Mid$(texte, c - 1, 1) ' = '
End Sub
Pour connaitre la dernière ligne vide :
FinLigne =
Workbooks(NomClasseur).Worksheets(NomFeuillePIF).Range("A65536").End(xlUp).Row
Pour l'insertion des les cellules, je n'ai pas bien compris. Tu parles de
C,D,E,F puis G,H,I,J. Et après ? on revient à C,D,etc ou on continue de 4
colonnes en 4 colonnes.
A+Bonjour,
J'ai un document Excel qui contient une imposante liste de mesures (2
dimensions, hauteur et largeur). Sur la colonne A, il y a la hauteur
métrique et sa valeur impériale entre parenthèses (exemple: 10m (12')) et
sur la colonne B, la largeur métrique et la valeur impériale entre
parenthèses (exemple: 2m (6')).
Je cherche à séparer les chiffres des unités et à répartir le tout dans
les colonnes voisines, soit, pour la colonne A 4 colonnes, la première
récupère le nombre en format numérique ordinaire, la deuxième récupère
l'unité, la troisième récupère le nombre impérial en format numérique et
la dernière récupère l'unité impériale (ici, l'apostrophe pour dire
«pieds»). Idem pour la colonne B.
En pseudo-code, je donnerais
Pour i=1, i = 65500 (ou le maximum, je ne m'en souviens jamais), i++
Lire la cellule référencée par la valeur «Ai»
' Renvoie, par exemple 2m (6')Séparer en 4 membres (fonction split ou autre ici)
Écrit la première sous-chaîne à la colonne «Ci» // chiffre
Écrit la seconde sous-chaîne à la colonne «Di» // ici, c'est
le m, donc c'est du texte
Saute la parenthèse
Écrit la valeur suivante à la colonne «Ei» // la valeur en
pieds
Écrit la valeur suivante à la colonne «Fi»
Fait la même chose à partir de la colone B
Mais utilise les colonne «Gi», «Hi», «Ii» et «Ji»
Suivant
Je sais qu'il y a la fonction Split en VBA qui peut servir, seulement je
ne sais pas trop comment l'utiliser pour cet exemple précis, dans une
macro. Quelqu'un pourrait-il m'aider SVP?
Merci à l'avance,
Anne
Pour connaitre la dernière ligne vide :
FinLigne > > Workbooks(NomClasseur).Worksheets(NomFeuillePIF).Range("A65536").End(xlUp).Row
Juste une remarque en passant sur cette syntaxe. Excel 12 est annoncé avec
une augmentation significative du nombre de lignes (plus d'un million je
crois) et de colonnes (enfin plus de 256 :) disponibles. Du coup
Range("A65536").End(xlUp).Row
ne permettra plus de partir du bas des futures feuilles pour trouver la
dernière cellule occupée en colonne A. Il me parait donc préférable
d'anticiper en utilisant une syntaxe qui ne code pas la dernière ligne en
dur, comme :
Cells(Rows.Count,"a").End(xlUp).Row
----------
Ange Ounis
----------
Pour ta fonction Split, ça donne :
Private Sub Test()
Dim texte, partie1, partie2, partie3, partie4 As String
Dim a, b, c As Integer
texte = "10m(12')"
a = InStr(1, texte, "m") 'm est trouvé en 3éme position.
b = InStr(1, texte, "(")
c = InStr(1, texte, ")")
partie1 = Left$(texte, a - 1) ' = 10
partie2 = Mid$(texte, a, 1) ' = m
partie3 = Mid$(texte, b + 1, Len(texte) - 2) ' = 12
partie4 = Mid$(texte, c - 1, 1) ' = '
End Sub
Pour connaitre la dernière ligne vide :
FinLigne =
Workbooks(NomClasseur).Worksheets(NomFeuillePIF).Range("A65536").End(xlUp).Row
Pour l'insertion des les cellules, je n'ai pas bien compris. Tu parles de
C,D,E,F puis G,H,I,J. Et après ? on revient à C,D,etc ou on continue de 4
colonnes en 4 colonnes.
A+
Bonjour,
J'ai un document Excel qui contient une imposante liste de mesures (2
dimensions, hauteur et largeur). Sur la colonne A, il y a la hauteur
métrique et sa valeur impériale entre parenthèses (exemple: 10m (12')) et
sur la colonne B, la largeur métrique et la valeur impériale entre
parenthèses (exemple: 2m (6')).
Je cherche à séparer les chiffres des unités et à répartir le tout dans
les colonnes voisines, soit, pour la colonne A 4 colonnes, la première
récupère le nombre en format numérique ordinaire, la deuxième récupère
l'unité, la troisième récupère le nombre impérial en format numérique et
la dernière récupère l'unité impériale (ici, l'apostrophe pour dire
«pieds»). Idem pour la colonne B.
En pseudo-code, je donnerais
Pour i=1, i = 65500 (ou le maximum, je ne m'en souviens jamais), i++
Lire la cellule référencée par la valeur «Ai»
' Renvoie, par exemple 2m (6')
Séparer en 4 membres (fonction split ou autre ici)
Écrit la première sous-chaîne à la colonne «Ci» // chiffre
Écrit la seconde sous-chaîne à la colonne «Di» // ici, c'est
le m, donc c'est du texte
Saute la parenthèse
Écrit la valeur suivante à la colonne «Ei» // la valeur en
pieds
Écrit la valeur suivante à la colonne «Fi»
Fait la même chose à partir de la colone B
Mais utilise les colonne «Gi», «Hi», «Ii» et «Ji»
Suivant
Je sais qu'il y a la fonction Split en VBA qui peut servir, seulement je
ne sais pas trop comment l'utiliser pour cet exemple précis, dans une
macro. Quelqu'un pourrait-il m'aider SVP?
Merci à l'avance,
Anne
Pour connaitre la dernière ligne vide :
FinLigne > > Workbooks(NomClasseur).Worksheets(NomFeuillePIF).Range("A65536").End(xlUp).Row
Juste une remarque en passant sur cette syntaxe. Excel 12 est annoncé avec
une augmentation significative du nombre de lignes (plus d'un million je
crois) et de colonnes (enfin plus de 256 :) disponibles. Du coup
Range("A65536").End(xlUp).Row
ne permettra plus de partir du bas des futures feuilles pour trouver la
dernière cellule occupée en colonne A. Il me parait donc préférable
d'anticiper en utilisant une syntaxe qui ne code pas la dernière ligne en
dur, comme :
Cells(Rows.Count,"a").End(xlUp).Row
----------
Ange Ounis
----------Pour ta fonction Split, ça donne :
Private Sub Test()
Dim texte, partie1, partie2, partie3, partie4 As String
Dim a, b, c As Integer
texte = "10m(12')"
a = InStr(1, texte, "m") 'm est trouvé en 3éme position.
b = InStr(1, texte, "(")
c = InStr(1, texte, ")")
partie1 = Left$(texte, a - 1) ' = 10
partie2 = Mid$(texte, a, 1) ' = m
partie3 = Mid$(texte, b + 1, Len(texte) - 2) ' = 12
partie4 = Mid$(texte, c - 1, 1) ' = '
End Sub
Pour connaitre la dernière ligne vide :
FinLigne =
Workbooks(NomClasseur).Worksheets(NomFeuillePIF).Range("A65536").End(xlUp).Row
Pour l'insertion des les cellules, je n'ai pas bien compris. Tu parles de
C,D,E,F puis G,H,I,J. Et après ? on revient à C,D,etc ou on continue de 4
colonnes en 4 colonnes.
A+Bonjour,
J'ai un document Excel qui contient une imposante liste de mesures (2
dimensions, hauteur et largeur). Sur la colonne A, il y a la hauteur
métrique et sa valeur impériale entre parenthèses (exemple: 10m (12')) et
sur la colonne B, la largeur métrique et la valeur impériale entre
parenthèses (exemple: 2m (6')).
Je cherche à séparer les chiffres des unités et à répartir le tout dans
les colonnes voisines, soit, pour la colonne A 4 colonnes, la première
récupère le nombre en format numérique ordinaire, la deuxième récupère
l'unité, la troisième récupère le nombre impérial en format numérique et
la dernière récupère l'unité impériale (ici, l'apostrophe pour dire
«pieds»). Idem pour la colonne B.
En pseudo-code, je donnerais
Pour i=1, i = 65500 (ou le maximum, je ne m'en souviens jamais), i++
Lire la cellule référencée par la valeur «Ai»
' Renvoie, par exemple 2m (6')Séparer en 4 membres (fonction split ou autre ici)
Écrit la première sous-chaîne à la colonne «Ci» // chiffre
Écrit la seconde sous-chaîne à la colonne «Di» // ici, c'est
le m, donc c'est du texte
Saute la parenthèse
Écrit la valeur suivante à la colonne «Ei» // la valeur en
pieds
Écrit la valeur suivante à la colonne «Fi»
Fait la même chose à partir de la colone B
Mais utilise les colonne «Gi», «Hi», «Ii» et «Ji»
Suivant
Je sais qu'il y a la fonction Split en VBA qui peut servir, seulement je
ne sais pas trop comment l'utiliser pour cet exemple précis, dans une
macro. Quelqu'un pourrait-il m'aider SVP?
Merci à l'avance,
Anne
Pour connaitre la dernière ligne vide :
FinLigne > > Workbooks(NomClasseur).Worksheets(NomFeuillePIF).Range("A65536").End(xlUp).Row
Juste une remarque en passant sur cette syntaxe. Excel 12 est annoncé avec une
augmentation significative du nombre de lignes (plus d'un million je crois) et
de colonnes (enfin plus de 256 :) disponibles. Du coup Range("A65536").End(xlUp).Row
ne permettra plus de partir du bas des futures feuilles pour trouver la dernière
cellule occupée en colonne A. Il me parait donc préférable d'anticiper en
utilisant une syntaxe qui ne code pas la dernière ligne en dur, comme :
Cells(Rows.Count,"a").End(xlUp).Row
----------
Ange Ounis
----------Pour ta fonction Split, ça donne :
Private Sub Test()
Dim texte, partie1, partie2, partie3, partie4 As String
Dim a, b, c As Integer
texte = "10m(12')"
a = InStr(1, texte, "m") 'm est trouvé en 3éme position.
b = InStr(1, texte, "(")
c = InStr(1, texte, ")")
partie1 = Left$(texte, a - 1) ' = 10
partie2 = Mid$(texte, a, 1) ' = m
partie3 = Mid$(texte, b + 1, Len(texte) - 2) ' = 12
partie4 = Mid$(texte, c - 1, 1) ' = '
End Sub
Pour connaitre la dernière ligne vide :
FinLigne =
Workbooks(NomClasseur).Worksheets(NomFeuillePIF).Range("A65536").End(xlUp).Row
Pour l'insertion des les cellules, je n'ai pas bien compris. Tu parles de
C,D,E,F puis G,H,I,J. Et après ? on revient à C,D,etc ou on continue de 4
colonnes en 4 colonnes.
A+Bonjour,
J'ai un document Excel qui contient une imposante liste de mesures (2
dimensions, hauteur et largeur). Sur la colonne A, il y a la hauteur
métrique et sa valeur impériale entre parenthèses (exemple: 10m (12')) et
sur la colonne B, la largeur métrique et la valeur impériale entre
parenthèses (exemple: 2m (6')).
Je cherche à séparer les chiffres des unités et à répartir le tout dans les
colonnes voisines, soit, pour la colonne A 4 colonnes, la première récupère
le nombre en format numérique ordinaire, la deuxième récupère l'unité, la
troisième récupère le nombre impérial en format numérique et la dernière
récupère l'unité impériale (ici, l'apostrophe pour dire «pieds»). Idem pour
la colonne B.
En pseudo-code, je donnerais
Pour i=1, i = 65500 (ou le maximum, je ne m'en souviens jamais), i++
Lire la cellule référencée par la valeur «Ai»
' Renvoie, par exemple 2m (6')Séparer en 4 membres (fonction split ou autre ici)
Écrit la première sous-chaîne à la colonne «Ci» // chiffre
Écrit la seconde sous-chaîne à la colonne «Di» // ici, c'est le
m, donc c'est du texte
Saute la parenthèse
Écrit la valeur suivante à la colonne «Ei» // la valeur en pieds
Écrit la valeur suivante à la colonne «Fi»
Fait la même chose à partir de la colone B
Mais utilise les colonne «Gi», «Hi», «Ii» et «Ji»
Suivant
Je sais qu'il y a la fonction Split en VBA qui peut servir, seulement je ne
sais pas trop comment l'utiliser pour cet exemple précis, dans une macro.
Quelqu'un pourrait-il m'aider SVP?
Merci à l'avance,
Anne
Pour connaitre la dernière ligne vide :
FinLigne > > Workbooks(NomClasseur).Worksheets(NomFeuillePIF).Range("A65536").End(xlUp).Row
Juste une remarque en passant sur cette syntaxe. Excel 12 est annoncé avec une
augmentation significative du nombre de lignes (plus d'un million je crois) et
de colonnes (enfin plus de 256 :) disponibles. Du coup Range("A65536").End(xlUp).Row
ne permettra plus de partir du bas des futures feuilles pour trouver la dernière
cellule occupée en colonne A. Il me parait donc préférable d'anticiper en
utilisant une syntaxe qui ne code pas la dernière ligne en dur, comme :
Cells(Rows.Count,"a").End(xlUp).Row
----------
Ange Ounis
----------
Pour ta fonction Split, ça donne :
Private Sub Test()
Dim texte, partie1, partie2, partie3, partie4 As String
Dim a, b, c As Integer
texte = "10m(12')"
a = InStr(1, texte, "m") 'm est trouvé en 3éme position.
b = InStr(1, texte, "(")
c = InStr(1, texte, ")")
partie1 = Left$(texte, a - 1) ' = 10
partie2 = Mid$(texte, a, 1) ' = m
partie3 = Mid$(texte, b + 1, Len(texte) - 2) ' = 12
partie4 = Mid$(texte, c - 1, 1) ' = '
End Sub
Pour connaitre la dernière ligne vide :
FinLigne =
Workbooks(NomClasseur).Worksheets(NomFeuillePIF).Range("A65536").End(xlUp).Row
Pour l'insertion des les cellules, je n'ai pas bien compris. Tu parles de
C,D,E,F puis G,H,I,J. Et après ? on revient à C,D,etc ou on continue de 4
colonnes en 4 colonnes.
A+
Bonjour,
J'ai un document Excel qui contient une imposante liste de mesures (2
dimensions, hauteur et largeur). Sur la colonne A, il y a la hauteur
métrique et sa valeur impériale entre parenthèses (exemple: 10m (12')) et
sur la colonne B, la largeur métrique et la valeur impériale entre
parenthèses (exemple: 2m (6')).
Je cherche à séparer les chiffres des unités et à répartir le tout dans les
colonnes voisines, soit, pour la colonne A 4 colonnes, la première récupère
le nombre en format numérique ordinaire, la deuxième récupère l'unité, la
troisième récupère le nombre impérial en format numérique et la dernière
récupère l'unité impériale (ici, l'apostrophe pour dire «pieds»). Idem pour
la colonne B.
En pseudo-code, je donnerais
Pour i=1, i = 65500 (ou le maximum, je ne m'en souviens jamais), i++
Lire la cellule référencée par la valeur «Ai»
' Renvoie, par exemple 2m (6')
Séparer en 4 membres (fonction split ou autre ici)
Écrit la première sous-chaîne à la colonne «Ci» // chiffre
Écrit la seconde sous-chaîne à la colonne «Di» // ici, c'est le
m, donc c'est du texte
Saute la parenthèse
Écrit la valeur suivante à la colonne «Ei» // la valeur en pieds
Écrit la valeur suivante à la colonne «Fi»
Fait la même chose à partir de la colone B
Mais utilise les colonne «Gi», «Hi», «Ii» et «Ji»
Suivant
Je sais qu'il y a la fonction Split en VBA qui peut servir, seulement je ne
sais pas trop comment l'utiliser pour cet exemple précis, dans une macro.
Quelqu'un pourrait-il m'aider SVP?
Merci à l'avance,
Anne
Pour connaitre la dernière ligne vide :
FinLigne > > Workbooks(NomClasseur).Worksheets(NomFeuillePIF).Range("A65536").End(xlUp).Row
Juste une remarque en passant sur cette syntaxe. Excel 12 est annoncé avec une
augmentation significative du nombre de lignes (plus d'un million je crois) et
de colonnes (enfin plus de 256 :) disponibles. Du coup Range("A65536").End(xlUp).Row
ne permettra plus de partir du bas des futures feuilles pour trouver la dernière
cellule occupée en colonne A. Il me parait donc préférable d'anticiper en
utilisant une syntaxe qui ne code pas la dernière ligne en dur, comme :
Cells(Rows.Count,"a").End(xlUp).Row
----------
Ange Ounis
----------Pour ta fonction Split, ça donne :
Private Sub Test()
Dim texte, partie1, partie2, partie3, partie4 As String
Dim a, b, c As Integer
texte = "10m(12')"
a = InStr(1, texte, "m") 'm est trouvé en 3éme position.
b = InStr(1, texte, "(")
c = InStr(1, texte, ")")
partie1 = Left$(texte, a - 1) ' = 10
partie2 = Mid$(texte, a, 1) ' = m
partie3 = Mid$(texte, b + 1, Len(texte) - 2) ' = 12
partie4 = Mid$(texte, c - 1, 1) ' = '
End Sub
Pour connaitre la dernière ligne vide :
FinLigne =
Workbooks(NomClasseur).Worksheets(NomFeuillePIF).Range("A65536").End(xlUp).Row
Pour l'insertion des les cellules, je n'ai pas bien compris. Tu parles de
C,D,E,F puis G,H,I,J. Et après ? on revient à C,D,etc ou on continue de 4
colonnes en 4 colonnes.
A+Bonjour,
J'ai un document Excel qui contient une imposante liste de mesures (2
dimensions, hauteur et largeur). Sur la colonne A, il y a la hauteur
métrique et sa valeur impériale entre parenthèses (exemple: 10m (12')) et
sur la colonne B, la largeur métrique et la valeur impériale entre
parenthèses (exemple: 2m (6')).
Je cherche à séparer les chiffres des unités et à répartir le tout dans les
colonnes voisines, soit, pour la colonne A 4 colonnes, la première récupère
le nombre en format numérique ordinaire, la deuxième récupère l'unité, la
troisième récupère le nombre impérial en format numérique et la dernière
récupère l'unité impériale (ici, l'apostrophe pour dire «pieds»). Idem pour
la colonne B.
En pseudo-code, je donnerais
Pour i=1, i = 65500 (ou le maximum, je ne m'en souviens jamais), i++
Lire la cellule référencée par la valeur «Ai»
' Renvoie, par exemple 2m (6')Séparer en 4 membres (fonction split ou autre ici)
Écrit la première sous-chaîne à la colonne «Ci» // chiffre
Écrit la seconde sous-chaîne à la colonne «Di» // ici, c'est le
m, donc c'est du texte
Saute la parenthèse
Écrit la valeur suivante à la colonne «Ei» // la valeur en pieds
Écrit la valeur suivante à la colonne «Fi»
Fait la même chose à partir de la colone B
Mais utilise les colonne «Gi», «Hi», «Ii» et «Ji»
Suivant
Je sais qu'il y a la fonction Split en VBA qui peut servir, seulement je ne
sais pas trop comment l'utiliser pour cet exemple précis, dans une macro.
Quelqu'un pourrait-il m'aider SVP?
Merci à l'avance,
Anne
Pour connaitre la dernière ligne renseignée
La remarque d'Ange est très pertinente.
Pour connaitre la dernière ligne renseignée
La remarque d'Ange est très pertinente.
Pour connaitre la dernière ligne renseignée
La remarque d'Ange est très pertinente.