XL 2016 Sélection de plages de cellules multiples

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 !

Street filou

XLDnaute Nouveau
Bonsoir à tous

je cherche à corriger la syntaxe si dessous pour arriver à faire la même chose que : Range("i3:k3,M3:O3").Select (sélection de deux plages)

mais avec la variable i
sauf que le code ci dessous ne fonctionne pas !

Range("H" & i + 1 & ":Q" & i + 1, "S" & i + 1 & ":AA" & i + 1").Select

je dois surement faire une erreur toute simple d'écriture, mais impossible à trouver !

si quelqu’un voudrait bien me donner un petit coup de main svp, ça serait super sympa ... Merci par avance
Bonne soirée à tous
 
Bonsoir le fil,

Une autre syntaxe possible
VB:
Sub test_2()
Dim rng As Range
i = 3
'Range("H" & i + 1 & ":Q" & i + 1 & ",S" & i + 1 & ":AA" & i + 1).Select
'MsgBox Range("H" & i + 1 & ":Q" & i + 1 & ",S" & i + 1 & ":AA" & i + 1).Address(0, 0)
Set rng = Union(Cells(i, "H").Resize(, 10), Cells(i, "S").Resize(, 9)).Offset(1)
MsgBox rng.Address(0, 0)
rng.Select
End Sub
 
Bonsoir le fil,

Une autre syntaxe possible
VB:
Sub test_2()
Dim rng As Range
i = 3
'Range("H" & i + 1 & ":Q" & i + 1 & ",S" & i + 1 & ":AA" & i + 1).Select
'MsgBox Range("H" & i + 1 & ":Q" & i + 1 & ",S" & i + 1 & ":AA" & i + 1).Address(0, 0)
Set rng = Union(Cells(i, "H").Resize(, 10), Cells(i, "S").Resize(, 9)).Offset(1)
MsgBox rng.Address(0, 0)
rng.Select
End Sub
 
Bonjour Staple1600

Pourriez vous m'aider à faire la même chose mais à partir d'une cellule active avec des offset pour décaler la sélection
c'est pour remplir et modifier deux tableaux en parallèle. Du genre :

sélection de la première plage : [activecell, activecell. offset(0,4)] et de la deuxième plage : (sur la même ligne) activecell.offset(0,6),activecell.offset(0,10) avec un .select à la fin.

et le tout en une seule ligne de code.

comme mercredi, je ne dois pas m'y prendre comme il le faut ... j'ai galéré toute la soirée ... 😕

Merci par avance si vous aviez la réponse, car ça simplifierais beaucoup mon code ...
bonne journée
 
Bonjour,

As tu changé quelque chose au code qu'il t'avait soumis ? Normalement, changer uniquement les Cells(x,x) par des ActiveCell et changer les offsets est suffisant pour faire compiler, je ne vois pas où il pourrait y avoir une erreur. A moins que tu aies changé qqchose.

Bonne continuation
 
Bonsoir à tous
Je reviens un peu tard, ...
Déjà un grand merci, car j'ai appris beaucoup de chose avec vos exemples.
toutefois avec les "activecell" et les offsets ... à priori je ne suis pas doué ! 😕
Globalement ce que j'ai fais ça fonctionne, mais à mon avis ça doit pouvoir beaucoup se simplifier !

(pour info : je souhaite partir de la cellule active, avec des offsets car dans mon projet c'est plus simple à traiter.
ci joint un extrait pour exemple
si vous avez une minute pour jeter un œil ... ça serait cool.
Merci par avance
bonne soirée à tous
filou
 

Pièces jointes

Bonsoir le fil

Street filou
Si j'ai bien compris le pitch de ta question 😉
Essaies ce code pour le bouton Ajouter (en lieu et place du tien)
VB:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
[G1:O1].Copy: Cells(Rows.Count, "G").End(3).PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
End Sub

PS: Si tu utilisais un tableau structuré , le format se réplique automatiquement de ligne en ligne (et les formules aussi, si il y en a)
Si le coeur t'en dit, voir par exemple ce tuto
 
Dernière édition:
- 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

Discussions similaires

Retour