Formule plage.offset vba
Résolu/Fermé
julia Namor
Messages postés
524
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
13 janvier 2024
-
5 déc. 2015 à 11:14
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 - 5 déc. 2015 à 19:11
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 - 5 déc. 2015 à 19:11
A voir également:
- Formule plage.offset vba
- Formule si et - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Formule excel moyenne - Guide
- Formule excel - Guide
- Excel mise en forme conditionnelle formule - Guide
3 réponses
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
5 déc. 2015 à 19:11
5 déc. 2015 à 19:11
Quelques RQ
Cdlmnt
Sub cycle() Dim plage As Range Dim ror As Range Dim ii As Long For Each plage In Range("$I$9:$p$9") With plage If plage.Value = "LU" Then ' Set plage = .Offset(0, 0) ' utile ? Set ror = plage.Offset(-2, 0) plage.Offset(-2, 0).FormulaLocal = "=SI(f7<MAX($C:$C);f7+1;1)" ror.Select ror.AutoFill Destination:=Range(ror.Address & ":ei7"), Type:=xlFillDefault End If End With Next plage ' à partir de là, il y a un pb ' les points (.) devant Cells, Columns, .... ' suppose que ces objets sont des 'enfants' de ???? ' il faudrait un With quelque chose, peut être un nom de feuille ? For ii = .Cells(7, .Columns.Count).End(xlToLeft).Column To 2 Step -1 If UCase(.Cells(7, ii)) = UCase(.Cells(7, ii - 1)) Then .Cells(7, ii - 1) = "" .Range(Cells(7, ii), Cells(7, ii - 1)).Merge End If Next ii End Sub
Cdlmnt
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
Modifié par ccm81 le 5/12/2015 à 14:42
Modifié par ccm81 le 5/12/2015 à 14:42
Bonjour
A adapter (en supposant que plage représente une cellule)
Cdlmnt
A adapter (en supposant que plage représente une cellule)
Dim plage As Range
Set plage = Range("B5").Offset(-2, 0)
plage.AutoFill Destination:=Range(plage.Address & ":B20"), Type:=xlFillDefault
Cdlmnt
julia Namor
Messages postés
524
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
13 janvier 2024
33
5 déc. 2015 à 16:50
5 déc. 2015 à 16:50
Grand grand merci à toi , j'ai réussi à adapter le code et cerise sur le gateau j'y ai associé une boucle pour fusionner les valeurs identiques .
je te laisse voir le code et me le corriger s'il ya des redondances ou circuits plus courts.
merci beaucoup
je te laisse voir le code et me le corriger s'il ya des redondances ou circuits plus courts.
merci beaucoup
sub cycle
Dim plage As Range
Dim ror As Range
For Each plage In Range("$I$9:$p$9")
With plage
If plage.Value = "LU" Then
Set plage = .Offset(0, 0)
Set ror = plage.Offset(-2, 0)
plage.Offset(-2, 0).FormulaLocal = "=SI(f7<MAX($C:$C);f7+1;1)"
ror.Select
ror.AutoFill Destination:=Range(ror.Address & ":ei7"), Type:=xlFillDefault
Else
End If
End With
Next
Dim ii As Long
For ii = .Cells(7, .Columns.Count).End(xlToLeft).Column To 2 Step -1
If UCase(.Cells(7, ii)) = UCase(.Cells(7, ii - 1)) Then
.Cells(7, ii - 1) = ""
.Range(Cells(7, ii), Cells(7, ii - 1)).Merge
End If
Next ii
end sub