Insertion colone
Boriserge
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je suis en cours de création d'un planning, type semainier, je cherche à faire une macro pour insérer une colonne avant chaque "lundi", sauf s'il y a déja une colonne vide
Je suis en cours de création d'un planning, type semainier, je cherche à faire une macro pour insérer une colonne avant chaque "lundi", sauf s'il y a déja une colonne vide
A voir également:
- Insertion colone
- Insertion sommaire word - Guide
- Touche insertion clavier - Guide
- Insertion filigrane word - Guide
- Insertion liste déroulante excel - Guide
- Insertion signature word - Guide
2 réponses
Bonjour,
Et qu'as tu commencé à faire ? Sur quoi bloques tu exactement ? comment se présentent tes données ?
Un minimum de détail pourra aider les volontaires à te répondre ^^
Et qu'as tu commencé à faire ? Sur quoi bloques tu exactement ? comment se présentent tes données ?
Un minimum de détail pourra aider les volontaires à te répondre ^^
A chaque colonne correspond une date (de colonne B à NG pour le moment). Je souhaite garder une colonne vide avant chaque début de semaine pour y inscrire diverses informations sur mon planning.
Par soucis d'économie de temps je souhaiterai ne pas avoir à insérer les colonnes une par une, surtout qu'il est fort probable que le nombre de colonne augmente.
Par soucis d'économie de temps je souhaiterai ne pas avoir à insérer les colonnes une par une, surtout qu'il est fort probable que le nombre de colonne augmente.
Tu ne m'as pas répondu concernant ce que tu as commencé à faire ( sous entendu... à coder)
Dans le cas où tu n'aurais rien commencé....
Voici de quoi démarrer :
Faire une boucle sur chaque cellule de ta ligne de dates
https://silkyroad.developpez.com/vba/boucles/#LII
Vérifier le jour de la date correspondant pour trouver les "lundi"
Lire la "valeur" d'une cellule
https://docs.microsoft.com/fr-FR/office/vba/api/Excel.Range.Value
Vérifier le jour :
https://www.excelfunctions.net/vba-weekday-function.html
https://www.excel-pratique.com/fr/vba/conditions.php
Insérer des colonnes
https://analysistabs.com/excel-vba/inserting-columns-worksheet/
Dans le cas où tu n'aurais rien commencé....
Voici de quoi démarrer :
Faire une boucle sur chaque cellule de ta ligne de dates
https://silkyroad.developpez.com/vba/boucles/#LII
Vérifier le jour de la date correspondant pour trouver les "lundi"
Lire la "valeur" d'une cellule
https://docs.microsoft.com/fr-FR/office/vba/api/Excel.Range.Value
Vérifier le jour :
https://www.excelfunctions.net/vba-weekday-function.html
https://www.excel-pratique.com/fr/vba/conditions.php
Insérer des colonnes
https://analysistabs.com/excel-vba/inserting-columns-worksheet/
En gros :
Sub ajoutcolLundi() Dim numJour As Integer Dim d As Date Dim rng As Range Dim i As Long Dim col As Long Set rng = Sheets(1).Range("A1:AX1") nbcol = rng.Count For i = nbcol To 1 Step -1 d = CDate(rng(i).Value) numJour = Weekday(d, vbMonday) If numJour = 1 Then Sheets(1).Columns(i).Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove End If Next End Sub
Merci beaucoup, cela marche presque bien avec des ajustements de nom :
La colonne est ajouté avant le dimanche et non le lundi, mais j'ai résolu ça
Ce pendant je voudrais ajouter une exception s'il y a déja une colonne vide
La colonne est ajouté avant le dimanche et non le lundi, mais j'ai résolu ça
Sub ajoutcolLundi()
Dim numJour As Integer
Dim d As Date
Dim rng As Range
Dim i As Long
Dim col As Long
Set rng = Sheets("Sheet1").Range("B3:NW3")
nbcol = rng.Count
For i = nbcol To 1 Step -1
d = CDate(rng(i).Value)
numJour = Weekday(d, vbMonday)
If numJour = 2 Then
Sheets("Sheet1").Columns(i).Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
End If
Next
End Sub
Ce pendant je voudrais ajouter une exception s'il y a déja une colonne vide