J'essaye d'écrire une formule VBA que je déclencherai avec un bouton. Malheureusement sans succès.
Voici le principe :
1er bloc de lignes
Si la cellule S11 contient une valeur numérique, alors la cellule Z12 est égale à S11-T11
2ème bloc de lignes
Si la cellule S13 contient une valeur numérique, alors la cellule Z14 est égale à S13-T13
Et ainsi de suite...
je peux avoir 50 blocs de lignes, soit 100 lignes
Pour info, une fois que la macro VBA est exécutée avec le bouton, je supprimerais manuellement la colonne S. Il faut donc que la valeur calculée dans les cellules Z12 et Z14 restent. Idem pour tous les lignes avec la cellule calculée.
Sub Essai()
Dim i%, F
Set F = Sheets("IMPORT RECETTE PROFORMA") ' A adapter
For i = 1 To 50 Step 2
If IsNumeric(F.Range("S" & 10 + i).Value) Then
F.Range("Z" & 11 + i) = Range("S" & 10 + i).Value - Range("T" & 10 + i).Value
End If
Next i
Columns("S:S").Delete Shift:=xlToLeft ' Suppression colonne S
End Sub
Peut être que Boileau pense que si !
Alors ex nihilo essayez :
VB:
Sub Essai()
Dim i%, F
Set F = Sheets("Feuil1") ' A adapter
For i = 1 To 50 Step 2
If IsNumeric(F.Range("S" & 10 + i).Value) Then
F.Range("Z" & 11 + i) = Range("S" & 10 + i).Value
End If
Next i
Columns("S:S").Delete Shift:=xlToLeft ' Suppression colonne S
End Sub
Evidemment je recopie que cellule S11 dans Z12, car je ne sais pas ce que veut dire :
Peut être que Boileau pense que si !
Alors ex nihilo essayez :
VB:
Sub Essai()
Dim i%, F
Set F = Sheets("Feuil1") ' A adapter
For i = 1 To 50 Step 2
If IsNumeric(F.Range("S" & 10 + i).Value) Then
F.Range("Z" & 11 + i) = Range("S" & 10 + i).Value
End If
Next i
Columns("S:S").Delete Shift:=xlToLeft ' Suppression colonne S
End Sub
Evidemment je recopie que cellule S11 dans Z12, car je ne sais pas ce que veut dire :
Comment, par quel miracle, une cellule peut en contenir deux ?
Et sans fichier test ......
Sub Essai()
Dim i%, F
Set F = Sheets("IMPORT RECETTE PROFORMA") ' A adapter
For i = 1 To 50 Step 2
If IsNumeric(F.Range("S" & 10 + i).Value) Then
F.Range("Z" & 11 + i) = Range("S" & 10 + i).Value - Range("T" & 10 + i).Value
End If
Next i
Columns("S:S").Delete Shift:=xlToLeft ' Suppression colonne S
End Sub
Sub Essai()
Dim i%, F
Set F = Sheets("IMPORT RECETTE PROFORMA") ' A adapter
For i = 1 To 50 Step 2
If IsNumeric(F.Range("S" & 10 + i).Value) Then
F.Range("Z" & 11 + i) = Range("S" & 10 + i).Value - Range("T" & 10 + i).Value
End If
Next i
Columns("S:S").Delete Shift:=xlToLeft ' Suppression colonne S
End Sub