4 réponses
Bonjour,
1- Attention avec les codes qui utilisent "delete"... Venant d'un forum, on ne sait pas trop le résultat obtenu.
2- Si vous me faites confiance malgré tout, travaillez d'abord sur une copie de votre fichier. Pour cela, ouvrez le, Fichier/Enregistrer sous, appelez le "test_toto.xls" et enregistrez. Travailler toujours sur une copie AVANT. Ben oui, après c'est trop tard...
3- Essayez ce code (à placer dans un module standard) :
Sheets("Feuil1") à adapter en remplaçant Feuil1 par le nom de la feuille concernée.
"Laissez-moi deviner... Votre surnom, c'est «Bande Passante»? "
- Le Tribunal des flagrants délires- P.Desproges -
1- Attention avec les codes qui utilisent "delete"... Venant d'un forum, on ne sait pas trop le résultat obtenu.
2- Si vous me faites confiance malgré tout, travaillez d'abord sur une copie de votre fichier. Pour cela, ouvrez le, Fichier/Enregistrer sous, appelez le "test_toto.xls" et enregistrez. Travailler toujours sur une copie AVANT. Ben oui, après c'est trop tard...
3- Essayez ce code (à placer dans un module standard) :
Sub Supprime_si_prec_vide() Dim Lig As Long, DernierLig As Long DernierLig = Sheets("Feuil1").Range("J65536").End(xlUp).Row For Lig = 2 To DernierLig If Cells(Lig, 10).Value = "toto" And Cells(Lig - 1, 10).Value = "" Then Cells(Lig - 1, 10).Delete Shift:=xlUp 'pour supprimer toute la ligne faire : 'Cells(Lig - 1, 10).EntireRow.Delete End If Next End Sub
Sheets("Feuil1") à adapter en remplaçant Feuil1 par le nom de la feuille concernée.
"Laissez-moi deviner... Votre surnom, c'est «Bande Passante»? "
- Le Tribunal des flagrants délires- P.Desproges -
Merci pijaku,
j'ai 2 petits pb avec ce code:
- La feuille concernée ne porte jamais le même nom, donc je peux pas la renomée de manière fixe.
- La cellule Toto remonte bien mais le problème est que tout les reste de la colonne est remonter aussi, or je voudrais remonte que la cellule contenant Toto sans que le reste en bas bouge...
Merci pour ton aide
j'ai 2 petits pb avec ce code:
- La feuille concernée ne porte jamais le même nom, donc je peux pas la renomée de manière fixe.
- La cellule Toto remonte bien mais le problème est que tout les reste de la colonne est remonter aussi, or je voudrais remonte que la cellule contenant Toto sans que le reste en bas bouge...
Merci pour ton aide
Yes!!!
Alors essaye ce code qui devrait résoudre tes 2 problèmes. Toujours sur une copie de ton fichier!!!!!!!!
Sub remonte_d_une_ligne_si_toto()
Dim Lig As Long, DernierLig As Long
DernierLig = ActiveSheet.Range("J65536").End(xlUp).Row
For Lig = 2 To DernierLig
If Cells(Lig, 10).Value = "toto" And Cells(Lig - 1, 10).Value = "" Then
Cells(Lig - 1, 10).Value = Cells(Lig, 10).Value
Cells(Lig, 10).Value = ""
End If
Next
End Sub
Alors essaye ce code qui devrait résoudre tes 2 problèmes. Toujours sur une copie de ton fichier!!!!!!!!
Sub remonte_d_une_ligne_si_toto()
Dim Lig As Long, DernierLig As Long
DernierLig = ActiveSheet.Range("J65536").End(xlUp).Row
For Lig = 2 To DernierLig
If Cells(Lig, 10).Value = "toto" And Cells(Lig - 1, 10).Value = "" Then
Cells(Lig - 1, 10).Value = Cells(Lig, 10).Value
Cells(Lig, 10).Value = ""
End If
Next
End Sub
Super!!!
ça marche!!! merci Bcp
J'ai encore une dernière requête please...
Colonne A
toto > riri
toto1 > fifi
toto2 > loulou
je voudrais supprimer à chaque fois .....> et laisser que
riri
fifi
loulou
Merci
ça marche!!! merci Bcp
J'ai encore une dernière requête please...
Colonne A
toto > riri
toto1 > fifi
toto2 > loulou
je voudrais supprimer à chaque fois .....> et laisser que
riri
fifi
loulou
Merci
Salut,
Si tu as un espace après le > alors ne touche à rien, ce code est bon. Par contre, si tu n'as pas d'espace, retire le - 1 dans la ligne :
Cells(Lig, 1).Value = Right(Cells(Lig, 1).Value, Len(Cells(Lig, 1).Value) - InStr(Cells(Lig, 1).Value, ">") - 1)
Et en cadeau : un super site, qui contient notamment manipuler une chaine de caractères en VB6 et VBA
Si tu as un espace après le > alors ne touche à rien, ce code est bon. Par contre, si tu n'as pas d'espace, retire le - 1 dans la ligne :
Cells(Lig, 1).Value = Right(Cells(Lig, 1).Value, Len(Cells(Lig, 1).Value) - InStr(Cells(Lig, 1).Value, ">") - 1)
Sub Riri_fifi_loulou() Dim Lig As Long, DernierLig As Long DernierLig = ActiveSheet.Range("A65536").End(xlUp).Row For Lig = 2 To DernierLig If InStr(Cells(Lig, 1).Value, ">") <> 0 Then Cells(Lig, 1).Value = Right(Cells(Lig, 1).Value, Len(Cells(Lig, 1).Value) - InStr(Cells(Lig, 1).Value, ">") - 1) End If Next End Sub
Et en cadeau : un super site, qui contient notamment manipuler une chaine de caractères en VB6 et VBA