Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Remplissage automatique conditionnel d'une ligne

  • Initiateur de la discussion Initiateur de la discussion nwo
  • Date de début Date de début

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 !

nwo

XLDnaute Nouveau
Bonjour à tous,

J'ai la question suivante:
Je suis architecte et cherche à trouver un moyen systématique de remplir un bordereau de portes à partir d'une liste de portes TYPES (lignes 20 à 58 = modèles de base) ayant chacune des caractéristiques différentes (voir exemple de tableau ci-joint). Les bordereaux comportent parfois des centaines de portes et il devient compliqué à un certain stade de toutes les contrôler indépendamment...

Exemple : Si j'écris "25" dans la colonne C de la ligne 1, ... je souhaiterait que les colonnes "I" à "AR" de cette ligne soient automatiquement remplies en fonction des caractéristiques du TYPE 25 décrit dans la ligne 44 ... (voir lignes en jaune fluo dans le tableau)
Ainsi je suis certain que toutes les portes TYPE 25 ont les mêmes caractéristiques et ainsi de suite.

Pouvez-vous m'orienter?

Un grand merci d'avance !
Nicolas
 

Pièces jointes

Merci pour ton aide Fanfan, mais lorsque je double clique sur une des cellules de la colonne C pour examiner la macro... cela fait planter le fichier et XL.
Peux-tu m'expliquer comment reproduire la manip sur d'autres lignes?

 
Ce n'est pas en double cliquant que tu peux voir la macro... (Mais moi ça plante pas dans ce cas)
pour faire fonctionner ik suffit de saisir un chiffre entre 1 et 39 dans la colonne C
Pour voir la macro ou Alt +F11 ou tu clic sur l'onglet (le nom de la feuille) avec le bouton droit de la souris et tu choisi "Visualiser le code"...
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
'contrôle que c'est bien la colonne 3 que la saisie est bien un chiffre de 1 à 39
  If Target.Column <> 3 Then Exit Sub
  If Not IsNumeric(Target.Value) Or Target.Value < 1 Or Target.Value > 39 Then
    MsgBox ("Saisir un chiffre de 1 à 39")
    Exit Sub
  End If
  Dim lig As Integer, i As Integer, l As Integer
  l = Target.Row  'défini la ligne en cours
  lig = Target.Value + 19 'défini la ligne correspondante
  For i = 3 To 43 'boucle sur les colonnes
'si la cellule n'est pas vide copie la cellule
   If Len(Cells(lig, i).Value) > 0 Then Cells(l, i).Value = Cells(lig, i).Value
  Next 'fin de boucle
End Sub
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…