Copier et insertion de lignes en fonction d'un nombre

philippe.p@ a écrit :

Est-il possible d'avoir un code qui me permet de verrouiller les lignes dans lesquelles la colonne "S" comporte une date et me les mettent vert

Mais.... toutes les cellules de la colonne S, comme les autres sont déjà vérrouillées.

Tu devrais expliquer ce que tu veux obtenir car le verrouillage va de pair avec la protection de la feuille.

Et puis précise aussi si tu veux un code séparé ou intégré à la macro principale.

est-il possible que dans le code "fusion classement" qu'il y ait une ligne de commande qui puisse me permettre d'avoir la hauteur des lignes automatiquement ajustées

Nouvel essai :

Bye !

Salut

Les colonnes de « A » à « J » et de « R » à « U » sont verrouillées. La seule personne qui peut les modifier c’est moi.

Les colonnes de « K » à « Q » sont verrouillées uniquement au niveau des lignes en verte qui correspondent à une formation qui a été vaidée.

Donc ce que je voudrais c’est la possibilité que les lignes où une formation a été validée soit automatiquement verrouillées pour éviter des oublis. Pour savoir si une formation est vaidée c’est lorsque dans la colonne « S » il y a un numéro.

Cordialement.


Pour le code je préfère qu'il soit séparé de la macro principale.

Nouvelle version

Bye !

Impec pour que les cellules soient verrouillées. Merci.

Il me reste juste à entrer un mot de passe est le tour est joué.

Par contre j'aurai voulu que la ligne devienne verte alors j'ai ajouté deux lignes de code dans ton programme (une dans ta boucle si vrai et l'autre après) mais c'est là qu'on voit que je suis débutant car ça ne marche pas.

Ton code avec ma ligne :

Sub VerrouillerSiDatées()

For i = 3 To Range("J" & Rows.Count).End(xlUp).Row

If Range("S" & i) <> "" Then

Range("K" & i & ":Q" & i).Locked = True

Range("K" & i & ":Q" & i).FormulaHidden = False

Range("K" & i & ":Q" & i).ColorIndex = 10[/b][/b][/u]

Else

Range("K" & i & ":Q" & i).Locked = False

Range("K" & i & ":Q" & i).ColorIndex = 10

End If

Next i

End Sub

où est l'erreur car ça me semblé logique.

Cordialement.

Essaie comme ça :

    For i = 3 To Range("J" & Rows.Count).End(xlUp).Row
        If Range("S" & i) <> "" Then
            Range("K" & i & ":Q" & i).Locked = True
            Range("K" & i & ":Q" & i).FormulaHidden = False
            Range("K" & i & ":Q" & i).Interior.Color = RGB(216, 228, 188)
        Else
            Range("K" & i & ":Q" & i).Locked = False
        End If
    Next i
End Sub

Bye !

Super ça marche

Merci maintenant je vais pouvoir l'essayer dans mon fichier de travail.

Encore merci et quand je vois comment le VBA facilite le travail sous excel, il va falloir que je m'y mette réellement.

Cordialement.

Une petite question sur le code. Si je veux que ton code s'applique UNIQUEMENT à une date saisie dans "S" comment je peux modifier dans ligne de code :

Sub VerrouillerSiDatées()

For i = 3 To Range("J" & Rows.Count).End(xlUp).Row

If Range("S" & i) <> "" Then

Range("K" & i & ":Q" & i).Locked = True

Range("K" & i & ":Q" & i).FormulaHidden = False

Range("A" & i & ":U" & i).Interior.Color = RGB(216, 228, 188)

Else

Range("K" & i & ":Q" & i).Locked = False

End If

Next i

End Sub

par une qui ressemblerait à

Sub VerrouillerSiDatées()

For i = 3 To Range("J" & Rows.Count).End(xlUp).Row

If Range("S" & i) = DATE Then

Range("K" & i & ":Q" & i).Locked = True

Range("K" & i & ":Q" & i).FormulaHidden = False

Range("A" & i & ":U" & i).Interior.Color = RGB(216, 228, 188)

Else

Range("K" & i & ":Q" & i).Locked = False

End If

Next i

End Sub

Cordialement

C'est ça mais il te faut indiquer à la macro la date concernée.

Et le mot "Date" est réservé à une fonction VBA.

Un exemple de ce que tu peux faire :

Sub VerrouillerSiDatées()
    Dim dte As Date, flag&
    On Error GoTo Erreur
    dte = InputBox("Donner la date à verrouiller : ", "Verrouillage")
    flag = 0
    For i = 3 To Range("J" & Rows.Count).End(xlUp).Row
        If Range("S" & i) = dte Then
            Range("K" & i & ":Q" & i).Locked = True
            Range("K" & i & ":Q" & i).FormulaHidden = False
            Range("K" & i & ":Q" & i).Interior.Color = RGB(216, 228, 188)
            flag = 1
        Else
            Range("K" & i & ":Q" & i).Locked = False
        End If
    Next i
    If flag = 0 Then
        MsgBox "Aucune cellule n'a été verrouillée car la date saisie ne figure pas en colonne S."
    End If
Exit Sub

Bye !

Merci pour le réponse. Je vais essayer avec ça.

Coucou me revoilà

Après quelques essaies et tests deux questions :

Question 1 : J’ai remarqué lorsque je fusionne des lignes dans lesquelles j’ai modifié le nombre de place les informations des colonnes K à U s’efface. Par exemple dans le fichier D1 j’ai mis 5 places (cellule grisée) or qu’au départ il y avait 1 place dans laquelle j’avais mis des infos. Le fichier R1 impacte bien 5 ligne au total mais à supprimé l’info de la ligne n°1. Est-il possible que je puisse fusionner des lignes nouvelles sans que les info de la ligne soit effacées ?

Question 2 : Est-il possible d’avoir un code qui m’extrait tous les renseignements concernant un organisme « X » et qui créée un onglet au nom de l’organisme « X » avec les renseignements dans le fichier ? Par exemple dans le fichier D2 j’ai créer un onglet avec les informations de « l’association 2».

Cordialement.

14d1.xlsm (37.06 Ko)
16r1.xlsm (37.64 Ko)
15d2.xlsm (39.42 Ko)

Bonjour

Pour la question n° 1, je suis désolé mais je n’ai pas ce problème : sur mon PC, les indications restent lorsque je modifie le nombre de places, sauf si j’en demande moins. Dans ce cas les dernières lignes sont bien sûr supprimées avec leurs indications.

Pour l’extraction, voir le fichier joint.

Bye !

21d2-v1.xlsm (47.41 Ko)

Salut

J'ai beau double cliquer sur ton bouton et il y a rien qui se passe.

Pour la question 1 lorsque je veux modifier le nombre en plus et pour que j'obtienne la numérotion correcte, je supprime juste avant de cliquer sur le bouton "classement" les info de la colonne "J" correspondant à la formation.

Le fichier "D2v1" , le fichier "D2v1 bis" est celui où j'ai ajouté 10 place à la formation QV58. Si tu clique sur le bouton "classement" tu verras que les infos ont disparue en plus de la numérotation qui n'est pas chronologique. Par contre j'ai bien 10 ligne pour la formation donc à ce niveau c'est OK.

Cordialement.

17d2-v1.xlsm (47.41 Ko)
22d2-v1-bis.xlsm (40.68 Ko)
philippe.p@ a écrit :

J'ai beau double cliquer sur ton bouton et il y a rien qui se passe.

Ce n'est pas sur le bouton qu'il faut cliquer mais sur le nom de l'organisme...

Pour le reste, je regarde...

Bye !

Super ça marche mais je fais comment pour l'intégrer dans mon fochier de travail. Je n'arrive pas à trouver ton code ? Par contre ton après avoir un essai le code bug (regarde le fichier joint).

Une question : Le trie se fait super bien mais j'ai voulu le modifier pour ajouter un trie par ordre alphabétique dans chaque formation. Mais je n'y arrive pas.

En clair il faudrait que le trie se fasse en P1 sur la date de début (colonne G) puis en P2 sur le libellé court (colonne A) ce qui est déjà le cas et ce qui marche très bien mais ce qui serait bien c'est qu'un trie se fasse en P3 sur le nom (colonne L). Comme ça je pourrait avoir alphabétique les personnes inscrit dans chaque formation. Est-ce que c'est possible ?

En plus est-ce que tu peux en plus de me laisser ton code dans le bouton "classement" m'en faire juste trie à part ?

Cordialement.

17d2-v1-bug.xlsm (40.56 Ko)

Je reprends mon message précédent car je viens de m’apercevoir que c’est un peu du petit chinois.

1) Ton code fonctionne bien mais quand j’ai voulu le refaire il y a eu un bug dans le programme (voir fichier dans le message précédent). Ensuite comment je fais pour intégrer ton code dans mon fichier de travail car je n’arrive pas à voir tes lignes de code ?

2) Ton programme de trie intégrer dans le même module (bouton classement dans le fichier) fonctionnement sans problème mais je souhaiterai si c’est possible avoir au sein de chaque formation qu'un trie soit effectué par ordre alphabétique. En clair P1 sur la colonne G, P2 sur la colonne A et P3 sur la colonne L (les noms).

Ensuite j’aimerai avoir en plus du bouton « classement » qui fusionne et trie, un bouton pour le trie seul.

Voilà j’espère que c’est plus lisible que le message précédent.

Cordialement.

Désolé mais ton problème devient trop compliqué pour moi.

Je n'y arrive plus...

J'abandonne et passe la main.

Bye !

OK merci quand même pour tout mais tu ne m'as pas dit comment je récupère ton denier code pour copier des infos dans des onglet pour le mettre dans mon fichier de travail.

Cordialement.

Salut,

J'ai réussi à intégrer ton code dans mon fichier mais lorsque je le lance il me fait bien la copie des organismes PAR CONTRE il ne me copie pas les lignes 1 et 2 (voir fichier en PJ).

Tu peux m'expliquer ce que j'ai loupé ? Et comment je peux avoir une mise en forme correcte dans les onglets créés ?

Je te joins le fichier avec les onglets qui ont été crées avec ton programme.

Cordialment

C’est parce que la feuille ‘’ModèleOrg’’ est vierge.

Démasque-la : ‘’Accueil –Format – Visibilité - Masquer et Afficher – Afficher la feuille’’

Colle y l’ensemble de la feuille ‘’Liste AF à compléter par DATES’’ afin de bien avoir tous les formats, y compris les largeurs de colonnes et hauteurs de lignes.

Supprime toutes les lignes sauf les 2 premières.

C’est tout. La macro du double clic se charge de masquer et démasquer le modèle.

Bye !

C'est vrai que c'est tout simple. Encore fallait-il le savoir

Merci

Rechercher des sujets similaires à "copier insertion lignes fonction nombre"