Next en simultané
Résolu
Stridou...
Messages postés
52
Date d'inscription
Statut
Membre
Dernière intervention
-
Stridou... Messages postés 52 Date d'inscription Statut Membre Dernière intervention -
Stridou... Messages postés 52 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'ai un code qui me permet d'éliminer le texte qui se trouve entre un "%" et un ".".
Mon problème est que j'aimerais que pour une ligne_Origine=3 le résultat s'inscrive sur la ligne_Destination=3, puis pour une ligne_Origine=4 le résultat s'inscrive sur la ligne_Destination=4 ect... et que pour le moment ce n'est pas ce qui se passe !
Merci beaucoup de votre aide !
J'ai également une autre problématique : j'aimerai que mon code s'exécute jusqu'à la première case vide de la colonne 6 => colonne_Origine (c'est à dire enlever For Ligne_Destination = 3 To 100
For Ligne_Origine = 3 To 100 )
Merci beaucoup encore une fois ! Ce forum est d'une grande aide lorsqu'on est débutant !
J'ai un code qui me permet d'éliminer le texte qui se trouve entre un "%" et un ".".
Mon problème est que j'aimerais que pour une ligne_Origine=3 le résultat s'inscrive sur la ligne_Destination=3, puis pour une ligne_Origine=4 le résultat s'inscrive sur la ligne_Destination=4 ect... et que pour le moment ce n'est pas ce qui se passe !
Merci beaucoup de votre aide !
J'ai également une autre problématique : j'aimerai que mon code s'exécute jusqu'à la première case vide de la colonne 6 => colonne_Origine (c'est à dire enlever For Ligne_Destination = 3 To 100
For Ligne_Origine = 3 To 100 )
Sub parenth()
Dim Ligne_Origine As Integer, Colonne_Origine As Integer
Dim pos1 As Integer
Dim pos2 As Integer
Dim Ligne_Destination As Integer, Colonne_Destination As Integer
Dim cellule_Destination As String
For Ligne_Destination = 3 To 100
For Ligne_Origine = 3 To 100
Colonne_Destination = 7
Colonne_Origine = 6
temp = Cells(Ligne_Origine, Colonne_Origine)
temp = Replace(temp, " .", " 0.")
pos1 = InStr(temp, "%")
pos2 = InStr(pos1, temp, ".")
While pos1 <> 0 And pos2 <> 0
If pos1 > 1 Then
tmp = Left(temp, pos1)
End If
If pos2 > 0 Then
tmp = tmp & Mid(temp, pos2 + 1)
End If
If pos1 + pos2 = 0 Then tmp = temp
temp = tmp
pos1 = InStr(pos1 + 1, temp, "%")
pos2 = InStr(pos1 + 1, temp, ".")
Wend
parenthese = Trim(tmp)
Cells(Ligne_Destination, Colonne_Destination) = parenthese
Next Ligne_Origine
Next Ligne_Destination
End Sub
Merci beaucoup encore une fois ! Ce forum est d'une grande aide lorsqu'on est débutant !
A voir également:
- Next en simultané
- Opera next - Télécharger - Web & Internet
- Ayaneo next 2 - Accueil - Guide jeu vidéo
- Next sans for vba ✓ - Forum Excel
- Ecouter spotify en simultané - Guide
- Next sans for VBA Excel - Forum VB / VBA
3 réponses
Bonjour,
si j'ai bien compris votre demande:
entre un "%" et un "." avec votre code le "%" reste et le "." disparait, je n'ai pas change
si j'ai bien compris votre demande:
entre un "%" et un "." avec votre code le "%" reste et le "." disparait, je n'ai pas change
Sub parenth()
Dim Ligne As Integer, Colonne_Origine As Integer
Dim pos1 As Integer, pos2 As Integer
Dim Ligne_Destination As Integer, Colonne_Destination As Integer
With Worksheets("feuil1")
Colonne_Origine = 6
Colonne_Destination = 7
derlig1 = .Cells(3, Colonne_Origine).End(xlDown).Row
For Ligne = 3 To derlig1
temp = Cells(Ligne, Colonne_Origine)
temp = Replace(temp, " .", " 0.") '?????????
pos1 = InStr(temp, "%")
pos2 = InStr(pos1, temp, ".")
Cells(Ligne, Colonne_Destination) = Trim(Left(temp, pos1) & Right(temp, Len(temp) - pos2))
Next Ligne
End With
End Sub
Bonjour,
Merci beaucoup de votre aide !
Oui c'est ça, sauf que dans une cellule il peut y avoir plusieurs fois la compilation %TXT. à supprimer d'où la partie (je pense)
Votre code marche pour la première suppression, mais pas les suivantes...
Pour la ligne avec des ???? : elle permet de modifier .NB en 0.NB
Entre temps, pour améliorer le rendu, j'ai changé une ligne
Afin d'écrire le résultat en minuscule !
Merci encore !
Merci beaucoup de votre aide !
Oui c'est ça, sauf que dans une cellule il peut y avoir plusieurs fois la compilation %TXT. à supprimer d'où la partie (je pense)
If pos1 + pos2 = 0 Then tmp = temp
temp = tmp
pos1 = InStr(pos1 + 1, temp, "%")
pos2 = InStr(pos1 + 1, temp, ".")
Votre code marche pour la première suppression, mais pas les suivantes...
Pour la ligne avec des ???? : elle permet de modifier .NB en 0.NB
Entre temps, pour améliorer le rendu, j'ai changé une ligne
Cells(Ligne_Destination, Colonne_Destination) = LCase(parenthese)
Afin d'écrire le résultat en minuscule !
Merci encore !