VBA: Application formule sur les cellules non vide
Fermé
Erakmur
Messages postés
24
Date d'inscription
mardi 12 juin 2012
Statut
Membre
Dernière intervention
14 octobre 2019
-
14 oct. 2019 à 11:41
Erakmur Messages postés 24 Date d'inscription mardi 12 juin 2012 Statut Membre Dernière intervention 14 octobre 2019 - 14 oct. 2019 à 18:10
Erakmur Messages postés 24 Date d'inscription mardi 12 juin 2012 Statut Membre Dernière intervention 14 octobre 2019 - 14 oct. 2019 à 18:10
A voir également:
- Appliquer une formule si cellule non vide excel
- Vba range avec variable ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
- Vba dernière colonne non vide ✓ - Forum VB / VBA
4 réponses
eriiic
Messages postés
24595
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
2 septembre 2024
7 234
14 oct. 2019 à 12:43
14 oct. 2019 à 12:43
Bonjour,
Il faut ajouter un test si tu peux n'avoir aucune formule dans la plage :
eric
For Each c In [Aj9:Aj2000].SpecialCells(xlCellTypeFormulas)
Il faut ajouter un test si tu peux n'avoir aucune formule dans la plage :
Dim pl As Range Set pl = [Aj9:Aj2000].SpecialCells(xlCellTypeFormulas) If Not pl Is Nothing Then For Each c In pl '... Next c End If
eric
Erakmur
Messages postés
24
Date d'inscription
mardi 12 juin 2012
Statut
Membre
Dernière intervention
14 octobre 2019
14 oct. 2019 à 14:35
14 oct. 2019 à 14:35
Je n'ai pas bien compris. Je remplace
For Each c In [Aj9:Aj2000]
c = c.Formula
par
Dim pl As Range
Set pl = [Aj9:Aj2000].SpecialCells(xlCellTypeFormulas)
If Not pl Is Nothing Then
For Each c In pl
'...
Next c
End If
?
For Each c In [Aj9:Aj2000]
c = c.Formula
par
Dim pl As Range
Set pl = [Aj9:Aj2000].SpecialCells(xlCellTypeFormulas)
If Not pl Is Nothing Then
For Each c In pl
'...
Next c
End If
?
eriiic
Messages postés
24595
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
2 septembre 2024
7 234
14 oct. 2019 à 16:11
14 oct. 2019 à 16:11
Ben non.
Tu remplaces '... par le code que tu veux appliquer à chaque cellule :
c = c.Formula
si tu n'as que ça à faire
eric
Tu remplaces '... par le code que tu veux appliquer à chaque cellule :
c = c.Formula
si tu n'as que ça à faire
eric
Erakmur
Messages postés
24
Date d'inscription
mardi 12 juin 2012
Statut
Membre
Dernière intervention
14 octobre 2019
14 oct. 2019 à 16:49
14 oct. 2019 à 16:49
Excel me met erreur 1004: pas de cellules correspondantes
Sub Validation()
Dim C As Range
Dim pl As Range
Set pl = [Aj9:Aj2000].SpecialCells(xlCellTypeFormulas)
If Not pl Is Nothing Then
For Each C In pl
C = C.Formula
Next C
End If
End Sub
Sub Validation()
Dim C As Range
Dim pl As Range
Set pl = [Aj9:Aj2000].SpecialCells(xlCellTypeFormulas)
If Not pl Is Nothing Then
For Each C In pl
C = C.Formula
Next C
End If
End Sub
Erakmur
Messages postés
24
Date d'inscription
mardi 12 juin 2012
Statut
Membre
Dernière intervention
14 octobre 2019
14 oct. 2019 à 14:46
14 oct. 2019 à 14:46
C'est la macro complète, j'aurais peut être du te la donner dès le début.
Sub Validation()
Dim c As Range
Application.Calculation = xlManual
Application.ScreenUpdating = False
For Each c In [Aj9:Aj2000]
c = c.Formula
Next
Application.Calculation = xlAutomatic
End Sub
Sub Validation()
Dim c As Range
Application.Calculation = xlManual
Application.ScreenUpdating = False
For Each c In [Aj9:Aj2000]
c = c.Formula
Next
Application.Calculation = xlAutomatic
End Sub
ccm81
Messages postés
10878
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
11 septembre 2024
2 415
Modifié le 14 oct. 2019 à 17:32
Modifié le 14 oct. 2019 à 17:32
Bonjour
La proposition d'eric (salut à toi) fonctionne bien
Peut être n'as tu pas de formule dans ta colonne
Par contre
c = c.Formula
me laisse perplexe :-()
https://mon-partage.fr/f/qqOXQ2Rr/
Cdlmnt
La proposition d'eric (salut à toi) fonctionne bien
Peut être n'as tu pas de formule dans ta colonne
Par contre
c = c.Formula
me laisse perplexe :-()
https://mon-partage.fr/f/qqOXQ2Rr/
Cdlmnt
Erakmur
Messages postés
24
Date d'inscription
mardi 12 juin 2012
Statut
Membre
Dernière intervention
14 octobre 2019
Modifié le 14 oct. 2019 à 18:07
Modifié le 14 oct. 2019 à 18:07
Bonjour,
Il n'y a aucune formule dans la colonne AJ. Le mieux c'est que je donne le fichier complet
https://www.cjoint.com/c/IJopMDzi4rL
La macro simule une validation de la cellule qui déclencle une autre macro qui créer le planning avec les codes couleurs. C'est la macro Validation.
Même si cela fonctionne, cela prend trop de temps.
Il n'y a aucune formule dans la colonne AJ. Le mieux c'est que je donne le fichier complet
https://www.cjoint.com/c/IJopMDzi4rL
La macro simule une validation de la cellule qui déclencle une autre macro qui créer le planning avec les codes couleurs. C'est la macro Validation.
Même si cela fonctionne, cela prend trop de temps.
eriiic
Messages postés
24595
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
2 septembre 2024
7 234
Modifié le 14 oct. 2019 à 18:10
Modifié le 14 oct. 2019 à 18:10
Il n'y a aucune formule dans la colonne AJ
il faut être un peu curieux si tu veux progresser.
Lorsque tu ne connais pas une instruction fait F1 dessus pour lire son aide.
L'aide sur SpecialCells t'apprend que tu as d'autre valeurs que xlCellTypeFormulas pour XlCellType .
Par exemple :
• xlCellTypeConstants. Cellules contenant des constantes
Si c'est un problème de lenteur, je vois pas en quoi retraiter à nouveau toutes les valeurs en AJ, même celles n'en ayant pas besoin, rendra l'ensemble plus rapide (?)
Et quand je vois On Error Resume Next sans raison en début d'une procédure, je me dis que j'ai affaire à qq'un qui met la poussière sous le tapis et ne cherche pas à corriger au fur et à mesure les erreurs.
Je préfère me retirer...
eric
il faut être un peu curieux si tu veux progresser.
Lorsque tu ne connais pas une instruction fait F1 dessus pour lire son aide.
L'aide sur SpecialCells t'apprend que tu as d'autre valeurs que xlCellTypeFormulas pour XlCellType .
Par exemple :
• xlCellTypeConstants. Cellules contenant des constantes
Si c'est un problème de lenteur, je vois pas en quoi retraiter à nouveau toutes les valeurs en AJ, même celles n'en ayant pas besoin, rendra l'ensemble plus rapide (?)
Et quand je vois On Error Resume Next sans raison en début d'une procédure, je me dis que j'ai affaire à qq'un qui met la poussière sous le tapis et ne cherche pas à corriger au fur et à mesure les erreurs.
Je préfère me retirer...
eric
Erakmur
Messages postés
24
Date d'inscription
mardi 12 juin 2012
Statut
Membre
Dernière intervention
14 octobre 2019
14 oct. 2019 à 18:10
14 oct. 2019 à 18:10
Je me disais que tester si la cellule était vide ou pas était bcp plus rapide que d'appliquer la formule.