Excel 2003 : traitement des données
Dernière réponse : dans Programmation
Coucou,
J'ai besoin d'automatiser le traitement des données sur un fichier au format toujours identique.
J'ai besoin de réaliser les opérations suivantes :
si pour la colonne 'numéro de contrat' la valeur est comprise entre A et C, alors effacer la ligne
si pour la colonne 'num contrat' la valeur est de FR et que pour la colone 'colonne 2' la valeur est 'IA' alors effacer la ligne.
Quelqu'un saurait-il me sauver de ces traitements que je dois effectuer tous les jours à la main ?
Merci !!!!!
J'ai besoin d'automatiser le traitement des données sur un fichier au format toujours identique.
J'ai besoin de réaliser les opérations suivantes :
Quelqu'un saurait-il me sauver de ces traitements que je dois effectuer tous les jours à la main ?
Merci !!!!!
Autres pages sur : excel 2003 traitement donnees
Lassé par la pub ? Créez un compte
Salut,
Merci pour l'aide. Le problème c'est que le nombre de lignes concernées pour chaque critère est variable. Or dans ma macro, j'élimine un nombre fixé et invariable de lignes. Genre : supprimer les lignes 120 à 135. Mais si demain, le nb est plus grand, seules celles de 120 à 135 seront éliminées.
Que ferais-tu ?
Merci pour l'aide. Le problème c'est que le nombre de lignes concernées pour chaque critère est variable. Or dans ma macro, j'élimine un nombre fixé et invariable de lignes. Genre : supprimer les lignes 120 à 135. Mais si demain, le nb est plus grand, seules celles de 120 à 135 seront éliminées.
Que ferais-tu ?
Merci pour tes encouragements.
si je souhaite faire un test sur le premier caractère du contenu d'un cellule, comment je dois procéder ?
Exemple de ce que je souhaite implémenter :
If left(Cells(i, 4);1) < "3" Then Rows(i).Delete
Mais la fonction left n'existe pas apparemment.
Merci pour tes lumières !
si je souhaite faire un test sur le premier caractère du contenu d'un cellule, comment je dois procéder ?
Exemple de ce que je souhaite implémenter :
If left(Cells(i, 4);1) < "3" Then Rows(i).Delete
Mais la fonction left n'existe pas apparemment.
Merci pour tes lumières !
Pour plus de clarté voici mon code
Sub Mise_en_FormeGL()
'
' TESTESTTEST Macro
' Macro recorded 10/07/2006 by MILLIPORE
'
For i = 16000 To 2 Step -1
If Cells(i, 3) = "465" And Cells(i, 1) = "EI" Then Rows(i).Delete
If (Cells(i, 2) = "9413" Or Cells(i, 2) = "9430") And (Cells(i, 1) = "US" Or Cells(i, 1) = "CL") Then Rows(i).Delete
If Cells(i, 4) = "16A100" Then Rows(i).Delete
If Cells(i, 4) <= "300000" Then Rows(i).Delete 'et c est ici que ça bogue
Next i
End Sub
Citation :
Mais la fonction left n'existe pas apparemment. Quelque chose ne va pas dans ton code :
If Truc1 Then Rows(i).Delete
If Truc2 Then Rows(i).Delete
Et si Truc1 est vrai et que Truc2 l'est aussi ?
Et bien tu supprimes légitimement la ligne i puis illégitimement la ligne i+1 qui entre temps et devenue la ligne i.
Que faire ? Une variable Boolean ou une belle et grosse condition, pleine de parenthèses et de Or. Au choix :
Dim a_supprimer As Boolean
For i = ....
a_supprimer = Cells(i, 3).Value = "465" And Cells(i, 1).Value = "EI"
a_supprimer = a_supprimer Or ((Cells(i, 2).Value = "9413" Or Cells(i, 2).Value = "9430") And (Cells(i, 1).Value = "US" Or Cells(i, 1).Value = "CL"))
a_supprimer = a_supprimer Or Cells(i, 4).Value = "16A100"
a_supprimer = a_supprimer Or Left(Cells(i, 4).Value ,1) <= "3"
If a_supprimer Then Rows(i).Delete
Next i
For i = ....
If (Cells(i, 3).Value = "465" And Cells(i, 1).Value = "EI") Or _
((Cells(i, 2).Value = "9413" Or Cells(i, 2).Value = "9430") And (Cells(i, 1).Value = "US" Or Cells(i, 1).Value = "CL")) Or _
(Cells(i, 4).Value = "16A100") Or _
(Left(Cells(i, 4).Value ,1) <= "3") Then
Rows(i).Delete
End If
Next i
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumExcel 2003 titre de colonne
- ForumExcel 2003 vba netsend
- ForumExcel 2003 copie formule
- ForumExcel 2003 somme conditionnelle
- ForumExcel 2003 liste daaroulante
- ForumExcel 2003 macro ouverture
- ForumExcel 2003 conversion csv
- ForumExcel 2003 bouton vba
- ForumExcel 2003 problã me de date
- ForumExcel 2003 liste dã roulante
- Voir plus