Explication de termes d'une macro
Résolu
jenor
Messages postés
51
Date d'inscription
Statut
Membre
Dernière intervention
-
jenor Messages postés 51 Date d'inscription Statut Membre Dernière intervention -
jenor Messages postés 51 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Explication de termes d'une macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Paris multiple 2/6 explication - Forum Loisirs / Divertissements
- [ParionsSport] Paris multiple, une arnaque ? ✓ - Forum Loisirs / Divertissements
3 réponses
Bonjour
Cdlmnt
Private Sub PutFormulas(cas As Integer) Dim nbLi As Long ' nombre (.Count) de lignes (.Rows) de la plage occupée à partir de A1 dans la feuille 1 ' la plage occupée part de A1 ' jusqu'à la dernière ligne contenant une valeur ' jusqu'à la dernère colonne contenant une valeur nbLi = Feuil1.[A1].CurrentRegion.Rows.Count ' pour la cellule "C" & nbLi+1 de la feuille 1 ' pour exemple : si Nbli = 10, la suite se refèrera à C11 With Feuil1.Range("C" & nbLi + 1) ' insertion d'une ligne à la ligne 11 .EntireRow.Insert ' selon la valeur de cas Select Case cas ' si cas = 1 Case 1 ' Formule en C10 = formule en C9 .Offset(-1, 0).Formula = .Offset(-2, 0).Formula ' Formule en D10 = formule en D9 .Offset(-1, 1).Formula = .Offset(-2, 1).Formula Case 2 .Offset(-1, 0).Formula = .Offset(-2, 0).Formula .Offset(-1, 1).Formula = 0 Case 3 ' suppression du contenu de C10 .Offset(-1, 0).ClearContents .Offset(-1, 1).Formula = .Offset(-2, 1).Formula End Select End With End Sub
Cdlmnt
Bonjour Jenor, bonjour le forum,
Private Sub PutFormulas(cas As Integer) Dim nbLi As Long 'déclare la variable nbLi (nombre de lignes) de type Long (compris entre -2 147 483 648 et 2 147 483 647) nbLi = Feuil1.[A1].CurrentRegion.Rows.Count 'définit la variable nbLi (le nombre de lignes) 'CurrentRegion correspond à toutes les cellules autour de A1 sans qu'une ligne ou une colonne vide ne les sépare 'de cet ensemble de cellules on en compte le nombre de lignes (ça correspond à [Ctrl]+[*] dans une cellule)... 'Offset est le décalage (x, y) par rapport à une cellule. x correspond aux lignes (positif on descend, négatif on monte), 'y correspond au colonnes (positif vers la droite, négatif vers la gauche) With Feuil1.Range("C" & nbLi + 1) 'prend en compte la cellule ligne nbLi + 1, colonne C de l'onglet Feuil1 ( c'est la base pour le décalage) .EntireRow.Insert 'insère une ligne Select Case cas 'agit en fonction de la variable cas définie comme entier dans la procédure Case 1 'si cas vaut 1 'renvoie la formule de la cellule deux lignes au-dessus de la base, dans la cellule une ligne au-dessus de la base .Offset(-1, 0).Formula = .Offset(-2, 0).Formula 'renvoie la formule de la cellule deux lignes au-dessus une colonne à à droite de la base, dans la cellule une ligne au-dessus une colonne à droite de la base .Offset(-1, 1).Formula = .Offset(-2, 1).Formula Case 2 'si cas vaut 2 'renvoie la formule de la cellule deux lignes au-dessus de la base, dans la cellule une ligne au-dessus de la base .Offset(-1, 0).Formula = .Offset(-2, 0).Formula 'renvoie zéro dans le cellule une ligne au-dessus une colonne à droite de la base .Offset(-1, 1).Formula = 0 Case 3 'si cas vaut 3 'efface la cellule une ligne au-dessus de la base .Offset(-1, 0).ClearContents 'renvoie la formule de la cellule deux lignes au-dessus une colonne à à droite de la base, dans la cellule une ligne au-dessus une colonne à droite de la base .Offset(-1, 1).Formula = .Offset(-2, 1).Formula End Select 'fin de l'action en fonction de la variable cas End With 'fin de la prise en compte de la cellule ligne nbLi + 1, colonne C de l'onglet Feuil1 (base) End Sub