J’ai trois petits problèmes que je n’arrive pas résoudre, en voici l’explication :
Problème 1 :
Détection et suppression auto des points et des espaces en début de chaine de caractère.
Problème 2 :
Balayage de la colonne A et détection du caractère "(" en début de chaine et copier / coller la cellule en ligne + 1 et colonne + 1 VERS la cellule ligne + 0 et colonne +1.
Problème 3 :
Détection présence lignes entièrement vide et les supprimer
J’ai mis un fichier en pièce jointe de manière à être le plus explicite possible. J'aurais besoin d'une macro pour chacun des 3 problemes. j'ai essaye mais je ne connais pas tous les lignes de commandes.
Re : Trois petits problèmes pour automatiser une macro.
Bonsoir Romain
Voici 3 codes à tester.
Problème 1 :
Code:
Sub Suppr()
Range("A1:A65536").Replace What:="*(", Replacement:="("
End Sub
Problème 2 :
Ne suffit-il pas de supprimer la cellule B2 pour aligner les colonnes A et B?
Si oui, voici le code :
Code:
Sub Aligne()
Range("B2").Delete Shift:=xlUp
End Sub
Problème 3 :
J'ai essayé de supprimer les lignes vides mais certaines lignes contiennent une série d'espaces. donc voici un code qui supprime les lignes ne contenant pas "(" au début.
Code:
Sub Sup_vide()
Dim i%
For i = Range("A65536").End(xlUp).Row To 1 Step -1
If InStr(1, LCase(Cells(i, 1).Value), "(") = 0 Then
Rows(i).Delete
End If
Next i
End Sub
Re : Trois petits problèmes pour automatiser une macro.
Sergio,
Super les reponses... probleme 1 et 3 resolu...
pour le probleme 2, en fait jai plein d'info sur les lignes, je ne l'ai ai pas mise car ca aurait alourdi le fichier, donc pas possible de supprimer la cellule B2 pour aligner les colonnes A et B.
Ce que je souhaiterais c'est en fait creer une nouvelle colonne et copier la cellule B2 sur la meme ligne que les autres et sur la nouvelle colonne cree. Nouvelle colonne cree entre A et B, donc la colonne B devient C.
Re : Trois petits problèmes pour automatiser une macro.
Bonjour,
Voici donc un code qui permet de résoudre ton problème 2.
Code:
Option Explicit
Sub Deplace()
Dim Cel As Range
Application.ScreenUpdating = False
Columns("D:D").Insert Shift:=xlToRight
For Each Cel In Range("A1:A65536")
If Cel <> "" Then
Range("D" & Cel.Row).Value = Range("E" & Cel.Row + 1)
Range("E" & Cel.Row + 1).ClearContents
End If
Next
Application.ScreenUpdating = False
End Sub
Re : Trois petits problèmes pour automatiser une macro.
Bonjour a tous,
Je poursuis mes petites requêtes…
Problème 4 :
Balayage de la colonne A de haut en bas. Détection auto de la première barre et suppression de tout ce qui il y a au-dessus. Et détection de la deuxième barre et suppression de tout ce qui il y a en-dessous.
En résume, je veux conserver les infos entre deux barres.
Problème 5 :
Je souhaiterais obtenir un code qui permet de supprimer automatiquement les parenthèses et du codes superflu dans des chaines de caractères toujours range dans la colonne A.
Attention présence d’espaces après les chaines de caractères.
J’ai mis un fichier en pièce jointe de manière à être le plus explicite possible.
Re : Trois petits problèmes pour automatiser une macro.
bonjour petit jean, le forum,
tes programmes fonctonnent tres bien et en plus ils ne consomment pas de memoire (compilation de plus de 55000 lignes de donnees en 2 min).
merci encore a toi.