Macro : cellule vide bug

kakemphaton

XLDnaute Junior
Bonjour à tous,

Je tâtonne toujours autant et dès que cela sort du cadre, j'ai un peu de mal. Bref,
Je tente cette macro pour remplir automatiquement les cellules vides.
Cette formule doit remplir les cellules vides de la colonne K. Si, celle-ci est vide, Excel doit la remplir en ajoutant 29 à la cellule i. Donc, si K27 est vide, Excel doit faire en k27 : i27+29.

Code:
Sub cellulesvides()
For i = 1 To Range("k65536").End(xlUp).Row
        If IsEmpty(Cells(i, 2)) Then
        Cells(i, 2).FormulaLocal = "=SI(NON(ESTVIDE(K2));"";I2+29)"

  End If
Next
End Sub

Je visualise le problème, les 1 posent soucis, mais i doit aussi avoir autre chose.

Merci d'avance
 

Gorfael

XLDnaute Barbatruc
Re : Macro : cellule vide bug

Bonne année kakemphaton et le forum
Sans vraiment chercher
Code:
Sub cellulesvides()
Dim X As Long
For X = 1 To Range("k65536").End(xlUp).Row
    If IsEmpty(Cells(X, "B")) Then
        Cells(X, "B").FormulaLocal = "=SI(NON(ESTVIDE(K" & X & "));"""";I" & X & "+29)"
    End If
Next X
End Sub
Plusieurs "erreurs" :
- "" les guillements doivent être doublé dans une chaîne, pour indiquer que que ce sont des guillemets et non la fin ou le début d'une chaine
- Il faut intercaler les variables entre les morceaux de texte inchangé

- Tu ne peux pas mettre en K2, si K2=""... référence circulaire. Je me suis appuyé sur ton code et non ta description du problème

Pour la lisibilité :
- se servir des indentations
- Éviter d'utiliser une variable avec les référence des cellules
- Cells(X, "K") est plus facile à lire que Cells(X, 11)
A+
 
Dernière édition:

James007

XLDnaute Barbatruc
Re : Macro : cellule vide bug

Bonjour,

Avec FormulaLocal, il faudrait essayer :
Code:
Sub cellulesvides()
Dim i As Long
For i = 1 To Range("k65536").End(xlUp).Row
        If IsEmpty(Cells(i, 2)) Then
        Cells(i, 2).FormulaLocal = "=If(Not(isblank(K" & i & ")),"""",I2+29)"
  End If
Next
End Sub
A +
:)

Edit : Salut Gorfael :)
 

kakemphaton

XLDnaute Junior
Re : Macro : cellule vide bug

Merci bien à vous deux, tu as raison Gorfael, je ne peux pas appliquer en K2, si K2 (référence circulaire), mais en copiant la formule de James007 ou la tienne, j'obtiens aucun résultat en fait. Mon raisonnement doit être mauvais.

Si, vous pouviez m'aider, j'ai mis la macro dans un fichier Excel avec des données.

Merci
 

Pièces jointes

  • Macro_test.xlsm
    15.7 KB · Affichages: 55
  • Macro_test.xlsm
    15.7 KB · Affichages: 58
  • Macro_test.xlsm
    15.7 KB · Affichages: 59

Discussions similaires

Réponses
1
Affichages
997

Statistiques des forums

Discussions
312 571
Messages
2 089 775
Membres
104 272
dernier inscrit
stef606