Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Inserer une formule dans une nouvelle ligne

  • Initiateur de la discussion Initiateur de la discussion LASSAAD
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

LASSAAD

Guest
Salut tous

Veuillez trouver en fichier attaché, que nous voulant insérer les formules des colonnes Y, Z et AA automatiquement dans la ligne où on écrit ou on modifie des valeurs dans cette ligne.

Le but de cette demande est d’alléger la taille de fichier suite à la répétition des formules pour tous les lignes (maintenant on a atteint 30 000 lignes).

Donc, lorsqu'on écrit dans la ligne, la formule est activée, si on se déplace vers une autre ligne, la formule devient une valeur fixe et la formule s'active dans la nouvelle ligne.
 

Pièces jointes

Re : Inserer une formule dans une nouvelle ligne

Bonjour,
Autant mettre le résultat en vba directement me semble t-il
Adapter les formules en conséquence
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column < 25 Then
    'Application.EnableEvents = False
    i = Target.Row
    With Cells(i, 25)
        .Formula = "=IF(COUNTIF('X:\xxx\[Warranty tracking sheet - RAH RD_STA+ALT _2011_III.xls]TOP Warranty'!$A$3:$A$66;L" & i & _
        ")*AND(K" & i & "=""DD"";P" & i & "=1);""TOP WARRANTY"";"""")"
        .Value = IIf(Not IsError(.Value), .Value, "")
    End With
    With Cells(i, 26)
        .Formula = "=IF(COUNTIF('TOP Warranty'!$G$3:$G$48;L" & i & _
        ")*AND(K" & i & "=""DD"";P" & i & "=1);""Német TOP W."";"""")"
        .Value = IIf(Not IsError(.Value), .Value, "")
    End With
    With Cells(i, 27)
        .Formula = "=IF(COUNTIF('TOP Warranty'!$L$3:$L$110;L" & i & _
        ")*AND(K" & i & "=""DG"";P" & i & "=1);""Tunéz TOP w."";"""")"
        .Value = IIf(Not IsError(.Value), .Value, "")
    End With
    'Application.EnableEvents = True
End If
End Sub
A+
kjin
 
Re : Inserer une formule dans une nouvelle ligne

Bonjour
J'ai supprimé les formules
Alt+F11 pour acceder au code
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i&, n, y, x
If Target.Column < 25 And Target.Row > 1 Then
    i = Target.Row
    n = Cells(i, 12)
    y = IIf(Cells(i, 11) = "DD" And Cells(i, 16) = 1, 1, 0)
        x = Application.CountIf(Sheets("TOP Warranty").Range("A3:A66"), n)
        Cells(i, 25) = IIf(x * y > 0, "TOP WARRANTY", "")
        x = Application.CountIf(Sheets("TOP Warranty").Range("G3:G48"), n)
        Cells(i, 26) = IIf(x * y > 0, "Német TOP W", "")
    y = IIf(Cells(i, 11) = "DG" And Cells(i, 16) = 1, 1, 0)
        x = Application.CountIf(Sheets("TOP Warranty").Range("L3:L110"), n)
        Cells(i, 27) = IIf(x * y > 0, "Tunéz TOP W", "")
End If
End Sub
A+
kjin
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
186
Réponses
23
Affichages
682
Réponses
5
Affichages
372
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…