Comment mettre formule SI avec Convertir dans le VBA
Résolu
Ju@nita
Messages postés
163
Date d'inscription
Statut
Membre
Dernière intervention
-
gbinforme Messages postés 14946 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 14946 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
(j'ai excel 2010)
J'exporte dans excel des données bancaires. Parfois, tout se place bien, c.a.d. les dates dans la colonne A, la description dans la B, et les débits/crédits dans C et D.
Mais parfois, tout est dans la même colonne. Je dois alors aller dans Données/Convertir/Délimité/Suivant/Virgule/Suivant/Terminé et tout se replace bien.
Mais comme je dois monter une macro pour ce fichier excel, j'aimerais combler cette lacune en l'incorporant au début de ma macro. Dans le premier cas, il y a des données dans les 5 premières colonnes, mais dans le 2e cas, c'est juste la première. Donc, j'aimerais pouvoir dire ceci: SI il n'y a pas de donnée dans B1, alors exécute la conversion. Sinon, fais rien.
comment puis-je combiner ces 2 instructions dans une macro svp ?
Je ne sais pas écrire des procédures directement dans le VBA. Je FAIS la procédure en enregistrant une macro.
Donc, j'ai commencé avec la formule SI qui me donne ceci dans le VBA :
ActiveCell.FormulaR1C1 = "=IF(RC[1]="""",CONVERTIR,"""")"
End Sub
Évidemment, j'ai mis le mot CONVERTIR pour vous montrer où est-ce que je voudrais incorporer le reste, soit :
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1)), TrailingMinusNumbers:=True
Range("A1").Select
End Sub
https://www.cjoint.com/c/GGotiVwPgPV
Je vous joins un petit exemple. Dans la feuille 1, c'est quand je dois faire la conversion. Dans la feuille 2, c'est quand tout s'exporte bien. La macro doit s'exécuter dans la feuille 1 et le résultat sera identique à la feuille 2.
Merci pour votre aide.
Bonne journée.
(j'ai excel 2010)
J'exporte dans excel des données bancaires. Parfois, tout se place bien, c.a.d. les dates dans la colonne A, la description dans la B, et les débits/crédits dans C et D.
Mais parfois, tout est dans la même colonne. Je dois alors aller dans Données/Convertir/Délimité/Suivant/Virgule/Suivant/Terminé et tout se replace bien.
Mais comme je dois monter une macro pour ce fichier excel, j'aimerais combler cette lacune en l'incorporant au début de ma macro. Dans le premier cas, il y a des données dans les 5 premières colonnes, mais dans le 2e cas, c'est juste la première. Donc, j'aimerais pouvoir dire ceci: SI il n'y a pas de donnée dans B1, alors exécute la conversion. Sinon, fais rien.
comment puis-je combiner ces 2 instructions dans une macro svp ?
Je ne sais pas écrire des procédures directement dans le VBA. Je FAIS la procédure en enregistrant une macro.
Donc, j'ai commencé avec la formule SI qui me donne ceci dans le VBA :
ActiveCell.FormulaR1C1 = "=IF(RC[1]="""",CONVERTIR,"""")"
End Sub
Évidemment, j'ai mis le mot CONVERTIR pour vous montrer où est-ce que je voudrais incorporer le reste, soit :
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1)), TrailingMinusNumbers:=True
Range("A1").Select
End Sub
https://www.cjoint.com/c/GGotiVwPgPV
Je vous joins un petit exemple. Dans la feuille 1, c'est quand je dois faire la conversion. Dans la feuille 2, c'est quand tout s'exporte bien. La macro doit s'exécuter dans la feuille 1 et le résultat sera identique à la feuille 2.
Merci pour votre aide.
Bonne journée.
A voir également:
- Comment mettre formule SI avec Convertir dans le VBA
- Formule si et - Guide
- Mise en forme conditionnelle excel formule si - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Formule somme excel colonne - Guide
2 réponses
Bonjour,
Pour mettre le SI, effectivement l'enregistreur ne sait pas faire.
Tu le met ainsi et je t'ai rajouté la largeur automatique des colonnes car sinon cela fait fouillis.
Pour mettre le SI, effectivement l'enregistreur ne sait pas faire.
Tu le met ainsi et je t'ai rajouté la largeur automatique des colonnes car sinon cela fait fouillis.
If [B1].Value = "" Then Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _ Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _ :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _ Array(7, 1), Array(8, 1)), TrailingMinusNumbers:=True ActiveSheet.UsedRange.Columns.AutoFit End If
merci