Extraction donnees d'une cellule

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Re : Extraction donnees d'une cellule

Salut Paritec,David84 et JNP = merci
Paritec extra la macro, je m'initie pour le moment
dans le fichier que je reçois la colonne que je veux adapter se trouve à I
je dois donc simplement modifier le A en I
bon dimanche et à très bientôt







Option Explicit

Sub traiter()
Dim i&, fin&, a As Variant
fin = Feuil1.Range("A" & Rows.Count).End(xlUp).Row
For i = 3 To fin
a = Split(Cells(i, 1), "/")
Cells(i, 2) = (Mid(a(0), 2) / Mid(a(1), 1, Len(a(1)) - 1))
Next i
End Sub
 
Re : Extraction donnees d'une cellule

Re bonjour Urbanito le forum
oui il faut changer le A en I mais aussi les
Code:
cells(i,1) en cells(i,"i") ou en cells(i,9)
je te laisse modifier si cela ne marche pas tu me le redis
ou tu veux avoir le résultat en I et la colonne de départ c'est la A ?????
redis le moi

a+
papou😱
 
Re : Extraction donnees d'une cellule

Re Urbanito le forum
bon alors si tu veux, des explications ci-dessous
a+
papou😱

Code:
Sub traiter()
    Dim i&, fin&, a As Variant
    fin = Feuil1.Range("A" & Rows.Count).End(xlUp).Row ' pour chercher la dernière ligne de la colonne à traiter
    For i = 3 To fin ' pour donner à la boucle le début ligne 3 et la fin avec la valeur obtenue au dessus
        a = Split(Cells(i, 1), "/") 'décomposition de la cellule (ligne i, colonne 1 donc A)
        Cells(i, 2) = (Mid(a(0), 2) / Mid(a(1), 1, Len(a(1)) - 1)) 'résultat en cells(ligne i, colonne B) et le calcul
    Next i
End Sub
 
Dernière édition:
Re : Extraction donnees d'une cellule

Re 🙂,
Pascal, une autre façon de traiter la fonction personnalisée :
Code:
Function Urbanito2(cel As String)
    Dim a
    Application.Volatile
    If InStr(1, cel, "/") = 0 Then Exit Function
    a = Split(Replace(Replace(cel, "(", ""), ")", ""), "/")
    Urbanito2 = a(0) / a(1)
End Function
Bonne suite 😎
 
Re : Extraction donnees d'une cellule

Re
Juste pour tester, une fonction personnalisée en utilisant un motif d'expression rationnelle :
Code:
Function Fraction(c As Range)
Dim oRegExp, Res, Item
Set oRegExp = CreateObject("vbscript.regexp")
oRegExp.Pattern = "(\d+)/(\d+)"
Set Res = oRegExp.Execute(c)
Set Item = Res(0)
Fraction = Item.submatches(0) / Item.submatches(1)
End Function
A+
 
Re : Extraction donnees d'une cellule

Bonjour à tous


Sinon en évaluant simplement le contenu de la cellule en colonne A, ça le fait aussi 😉
Code:
Sub a()
Dim c As Range
For Each c In Selection
Cells(c.Row, "H") = Evaluate("=" & c)
Next c
End Sub

PS: avant de lancer la macro, sélectionner les données à traiter en colonne A.
(ou adapter le code pour éviter la sélection)

Une variante pour le fun et pour préserver les parenthèses
Code:
Sub b()
Dim c As Range
For Each c In Selection
c.Offset(, 7) = "=" & c.Value
Next c
End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
689
  • Résolu(e)
Microsoft 365 transposer
Réponses
6
Affichages
290
Retour