Explication de termes d'une macro
Résolu/Fermé
jenor
Messages postés
51
Date d'inscription
mercredi 10 juin 2015
Statut
Membre
Dernière intervention
24 juillet 2015
-
Modifié par pijaku le 24/06/2015 à 15:46
jenor Messages postés 51 Date d'inscription mercredi 10 juin 2015 Statut Membre Dernière intervention 24 juillet 2015 - 25 juin 2015 à 11:39
jenor Messages postés 51 Date d'inscription mercredi 10 juin 2015 Statut Membre Dernière intervention 24 juillet 2015 - 25 juin 2015 à 11:39
A voir également:
- Explication de termes d'une macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Foyer netflix explication - Accueil - Guide streaming
- Jitbit macro recorder - Télécharger - Confidentialité
- Another earth explication fin - Forum Cinéma / Télé
3 réponses
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 430
24 juin 2015 à 17:03
24 juin 2015 à 17:03
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
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
24 juin 2015 à 17:22
24 juin 2015 à 17:22
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
jenor
Messages postés
51
Date d'inscription
mercredi 10 juin 2015
Statut
Membre
Dernière intervention
24 juillet 2015
25 juin 2015 à 11:39
25 juin 2015 à 11:39
Merci à vous deux pour vos explications !!!